05:53:16.498 [debug] QUERY OK source="settings" db=0.0ms idle=38.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:16.499 [debug] QUERY OK source="settings" db=0.0ms idle=38.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:16.499 [info] Sent 200 in 2ms 05:53:16.704 [debug] Current batch of media processed. Will check again in 1000ms 05:53:16.797 [info] GET /sources/9/media/3148351 05:53:16.797 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3148351", "source_id" => "9"} Pipelines: [:browser] 05:53:16.798 [debug] QUERY OK source="media_items" db=0.2ms idle=299.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" = ?) [3148351] 05:53:16.798 [debug] QUERY OK source="tasks" db=0.1ms idle=299.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3148351] 05:53:16.798 [debug] QUERY OK source="sources" db=0.2ms idle=299.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:16.799 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=299.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [376141, 378648] 05:53:16.799 [debug] QUERY OK source="settings" db=0.0ms idle=114.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:16.799 [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:53:16.799 [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 [] 05:53:16.800 [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] 05:53:16.801 [info] Sent 200 in 3ms 05:53:17.099 [info] GET /sources/9/media/2969134 05:53:17.099 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2969134", "source_id" => "9"} Pipelines: [:browser] 05:53:17.099 [debug] QUERY OK source="media_items" db=0.1ms idle=300.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" = ?) [2969134] 05:53:17.099 [debug] QUERY OK source="tasks" db=0.0ms idle=300.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2969134] 05:53:17.100 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 05:53:17.100 [debug] QUERY OK source="settings" db=0.0ms idle=300.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:17.100 [debug] QUERY OK source="settings" db=0.0ms idle=300.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:17.100 [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 [] 05:53:17.101 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:53:17.102 [info] Sent 200 in 3ms 05:53:17.400 [info] GET /sources/38/media/3264872 05:53:17.400 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3264872", "source_id" => "38"} Pipelines: [:browser] 05:53:17.400 [debug] QUERY OK source="media_items" db=0.2ms idle=300.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" = ?) [3264872] 05:53:17.401 [debug] QUERY OK source="tasks" db=0.1ms idle=300.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3264872] 05:53:17.401 [debug] QUERY OK source="sources" db=0.2ms idle=300.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:17.401 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=300.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [406998, 410222] 05:53:17.401 [debug] QUERY OK source="settings" db=0.0ms idle=300.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:17.401 [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 [] 05:53:17.402 [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 [] 05:53:17.402 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:53:17.403 [info] Sent 200 in 3ms 05:53:17.700 [info] GET /sources/9/media/3093497/edit 05:53:17.701 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3093497", "source_id" => "9"} Pipelines: [:browser] 05:53:17.701 [debug] QUERY OK source="media_items" db=0.2ms idle=299.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" = ?) [3093497] 05:53:17.702 [debug] QUERY OK source="settings" db=0.1ms idle=299.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:17.702 [debug] QUERY OK source="settings" db=0.0ms idle=299.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:17.702 [debug] QUERY OK source="settings" db=0.0ms idle=299.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:17.703 [info] Sent 200 in 2ms 05:53:17.705 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 644, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", "id" => "fL9HzADcTsY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fL9HzADcTsY", "playlist_index" => 3, "timestamp" => 1780689201, "title" => "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "upload_date" => "20260605"} 05:53:17.705 [debug] QUERY OK source="sources" db=0.1ms idle=19.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 05:53:17.705 [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" = ?) [45] 05:53:17.707 [debug] QUERY OK source="media_items" db=1.5ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-05 19:53:21Z], 45] 05:53:17.708 [debug] QUERY OK source="media_items" db=0.7ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "0027c80b-e32c-4532-ac65-4f6f5e6291f2", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", 3, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", false, false, false, 45, [], 98, ~U[2026-06-05 19:53:21Z], ~U[2026-06-29 10:53:17Z], ~U[2026-06-29 10:53:17Z], "In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", false, 45, ~U[2026-06-05 19:53:21Z]] 05:53:17.708 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 05:53:17.709 [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] 05:53:17.709 [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 [3124978] 05:53:17.709 [debug] Current batch of media processed. Will check again in 1000ms 05:53:18.002 [info] GET /sources/9/media/2969138 05:53:18.002 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2969138", "source_id" => "9"} Pipelines: [:browser] 05:53:18.003 [debug] QUERY OK source="media_items" db=0.3ms idle=295.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2969138] 05:53:18.003 [debug] QUERY OK source="tasks" db=0.1ms idle=295.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2969138] 05:53:18.003 [debug] QUERY OK source="sources" db=0.1ms idle=294.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:18.004 [debug] QUERY OK source="settings" db=0.0ms idle=294.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:18.004 [debug] QUERY OK source="settings" db=0.0ms idle=294.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:18.004 [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 [] 05:53:18.005 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:53:18.006 [info] Sent 200 in 3ms 05:53:18.228 [info] GET /sources/55/media/2855682/edit 05:53:18.228 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2855682", "source_id" => "55"} Pipelines: [:browser] 05:53:18.229 [debug] QUERY OK source="media_items" db=0.1ms idle=225.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" = ?) [2855682] 05:53:18.229 [debug] QUERY OK source="settings" db=0.1ms idle=225.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:18.229 [debug] QUERY OK source="settings" db=0.0ms idle=225.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:18.230 [debug] QUERY OK source="settings" db=0.0ms idle=225.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:18.230 [info] Sent 200 in 2ms 05:53:18.453 [info] GET /sources/9/media/2969140 05:53:18.453 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2969140", "source_id" => "9"} Pipelines: [:browser] 05:53:18.454 [debug] QUERY OK source="media_items" db=0.3ms idle=448.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" = ?) [2969140] 05:53:18.454 [debug] QUERY OK source="tasks" db=0.1ms idle=225.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2969140] 05:53:18.454 [debug] QUERY OK source="sources" db=0.1ms idle=225.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:18.455 [debug] QUERY OK source="settings" db=0.0ms idle=225.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:18.455 [debug] QUERY OK source="settings" db=0.0ms idle=225.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:18.455 [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 [] 05:53:18.456 [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] 05:53:18.457 [info] Sent 200 in 3ms 05:53:18.678 [info] GET /sources/9/media/3093497 05:53:18.678 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3093497", "source_id" => "9"} Pipelines: [:browser] 05:53:18.679 [debug] QUERY OK source="media_items" db=0.1ms idle=224.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" = ?) [3093497] 05:53:18.679 [debug] QUERY OK source="tasks" db=0.0ms idle=224.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3093497] 05:53:18.679 [debug] QUERY OK source="sources" db=0.1ms idle=224.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:18.680 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=223.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [361043, 363726] 05:53:18.680 [debug] QUERY OK source="settings" db=0.0ms idle=223.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:18.680 [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 [] 05:53:18.680 [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 [] 05:53:18.681 [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] 05:53:18.682 [info] Sent 200 in 3ms 05:53:18.710 [debug] Current batch of media processed. Will check again in 1000ms 05:53:18.904 [info] GET /sources/46/media/2889160 05:53:18.904 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2889160", "source_id" => "46"} Pipelines: [:browser] 05:53:18.905 [debug] QUERY OK source="media_items" db=0.1ms idle=224.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" = ?) [2889160] 05:53:18.905 [debug] QUERY OK source="tasks" db=0.1ms idle=224.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2889160] 05:53:18.905 [debug] QUERY OK source="sources" db=0.1ms idle=224.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:18.905 [debug] QUERY OK source="settings" db=0.0ms idle=224.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:18.905 [debug] QUERY OK source="settings" db=0.0ms idle=219.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:18.906 [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:53:18.906 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:53:18.907 [info] Sent 200 in 2ms 05:53:19.130 [info] GET /sources/55/media/2855682 05:53:19.131 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2855682", "source_id" => "55"} Pipelines: [:browser] 05:53:19.131 [debug] QUERY OK source="media_items" db=0.2ms idle=225.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" = ?) [2855682] 05:53:19.132 [debug] QUERY OK source="tasks" db=0.0ms idle=226.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2855682] 05:53:19.132 [debug] QUERY OK source="sources" db=0.1ms idle=226.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:19.132 [debug] QUERY OK source="settings" db=0.0ms idle=226.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:19.132 [debug] QUERY OK source="settings" db=0.1ms idle=225.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:19.133 [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 [] 05:53:19.133 [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] 05:53:19.134 [info] Sent 200 in 3ms 05:53:19.357 [info] GET /sources/46/media/3070801/edit 05:53:19.357 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3070801", "source_id" => "46"} Pipelines: [:browser] 05:53:19.358 [debug] QUERY OK source="media_items" db=0.1ms idle=225.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" = ?) [3070801] 05:53:19.358 [debug] QUERY OK source="settings" db=0.1ms idle=225.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:19.358 [debug] QUERY OK source="settings" db=0.0ms idle=225.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:19.359 [debug] QUERY OK source="settings" db=0.0ms idle=225.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:19.359 [info] Sent 200 in 2ms 05:53:19.541 [info] GET /sources/9/media/3203575/edit 05:53:19.541 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3203575", "source_id" => "9"} Pipelines: [:browser] 05:53:19.541 [debug] QUERY OK source="media_items" db=0.2ms idle=408.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" = ?) [3203575] 05:53:19.542 [debug] QUERY OK source="settings" db=0.1ms idle=183.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:19.542 [debug] QUERY OK source="settings" db=0.0ms idle=183.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:19.542 [debug] QUERY OK source="settings" db=0.0ms idle=183.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:19.543 [info] Sent 200 in 2ms 05:53:19.711 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 678, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", "id" => "zQ0iVWUvvDM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zQ0iVWUvvDM", "playlist_index" => 4, "timestamp" => 1780005229, "title" => "Linux Is Too Powerful For Age Check Laws", "upload_date" => "20260528"} 05:53:19.711 [debug] QUERY OK source="sources" db=0.2ms idle=169.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:19.712 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 05:53:19.713 [debug] QUERY OK source="media_items" db=1.3ms idle=170.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-28 21:53:49Z], 45] 05:53:19.714 [debug] QUERY OK source="media_items" db=0.6ms idle=171.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Too Powerful For Age Check Laws", "0e73612c-77d6-43de-93ab-50e5b446fccd", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", 4, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", false, false, false, 45, [], 98, ~U[2026-05-28 21:53:49Z], ~U[2026-06-29 10:53:19Z], ~U[2026-06-29 10:53:19Z], "In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Too Powerful For Age Check Laws", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", false, 45, ~U[2026-05-28 21:53:49Z]] 05:53:19.714 [debug] QUERY OK source="sources" db=0.1ms idle=26.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:19.715 [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] 05:53:19.715 [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 [3063283] 05:53:19.715 [debug] Current batch of media processed. Will check again in 1000ms 05:53:19.720 [info] GET /sources/46/media/3070801 05:53:19.720 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3070801", "source_id" => "46"} Pipelines: [:browser] 05:53:19.720 [debug] QUERY OK source="media_items" db=0.2ms idle=6.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3070801] 05:53:19.721 [debug] QUERY OK source="tasks" db=0.1ms idle=6.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3070801] 05:53:19.721 [debug] QUERY OK source="sources" db=0.1ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 05:53:19.721 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=6.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [357151] 05:53:19.721 [debug] QUERY OK source="settings" db=0.0ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:19.721 [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 [] 05:53:19.722 [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 [] 05:53:19.722 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:53:19.723 [info] Sent 200 in 3ms 05:53:19.902 [info] GET /sources/52/media/2492706 05:53:19.902 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2492706", "source_id" => "52"} Pipelines: [:browser] 05:53:19.903 [debug] QUERY OK source="media_items" db=0.1ms idle=181.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2492706] 05:53:19.903 [debug] QUERY OK source="tasks" db=0.1ms idle=181.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2492706] 05:53:19.903 [debug] QUERY OK source="sources" db=0.1ms idle=181.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:53:19.904 [debug] QUERY OK source="settings" db=0.0ms idle=181.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:19.904 [debug] QUERY OK source="settings" db=0.0ms idle=181.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:19.904 [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:53:19.905 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:53:19.906 [info] Sent 200 in 3ms 05:53:20.082 [info] GET /sources/43/media/2913170/edit 05:53:20.082 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2913170", "source_id" => "43"} Pipelines: [:browser] 05:53:20.083 [debug] QUERY OK source="media_items" db=0.2ms idle=179.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" = ?) [2913170] 05:53:20.083 [debug] QUERY OK source="settings" db=0.1ms idle=179.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:20.083 [debug] QUERY OK source="settings" db=0.0ms idle=179.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:20.084 [debug] QUERY OK source="settings" db=0.0ms idle=179.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:20.084 [info] Sent 200 in 2ms 05:53:20.264 [info] GET /sources/43/media/3216892 05:53:20.264 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3216892", "source_id" => "43"} Pipelines: [:browser] 05:53:20.264 [debug] QUERY OK source="media_items" db=0.1ms idle=359.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" = ?) [3216892] 05:53:20.264 [debug] QUERY OK source="tasks" db=0.1ms idle=181.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3216892] 05:53:20.265 [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" = ?) [43] 05:53:20.265 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=181.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" = ?) [393896] 05:53:20.265 [debug] QUERY OK source="settings" db=0.0ms idle=181.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:20.265 [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 [] 05:53:20.266 [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 [] 05:53:20.266 [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] 05:53:20.267 [info] Sent 200 in 3ms 05:53:20.444 [info] GET /sources/9/media/3203575 05:53:20.444 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3203575", "source_id" => "9"} Pipelines: [:browser] 05:53:20.444 [debug] QUERY OK source="media_items" db=0.1ms idle=179.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" = ?) [3203575] 05:53:20.445 [debug] QUERY OK source="tasks" db=0.1ms idle=179.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3203575] 05:53:20.445 [debug] QUERY OK source="sources" db=0.1ms idle=179.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:20.445 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=179.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [390909, 393431] 05:53:20.445 [debug] QUERY OK source="settings" db=0.0ms idle=179.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:20.445 [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 [] 05:53:20.446 [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 [] 05:53:20.446 [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] 05:53:20.447 [info] Sent 200 in 3ms 05:53:20.595 [info] GET /sources/32/media/2986116/edit 05:53:20.595 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2986116", "source_id" => "32"} Pipelines: [:browser] 05:53:20.595 [debug] QUERY OK source="media_items" db=0.2ms idle=149.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" = ?) [2986116] 05:53:20.596 [debug] QUERY OK source="settings" db=0.0ms idle=150.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:20.596 [debug] QUERY OK source="settings" db=0.0ms idle=150.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:20.596 [debug] QUERY OK source="settings" db=0.0ms idle=150.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:20.597 [info] Sent 200 in 2ms 05:53:20.716 [debug] Current batch of media processed. Will check again in 1000ms 05:53:20.746 [info] GET /sources/52/media/3218449 05:53:20.746 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3218449", "source_id" => "52"} Pipelines: [:browser] 05:53:20.747 [debug] QUERY OK source="media_items" db=0.1ms idle=151.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" = ?) [3218449] 05:53:20.747 [debug] QUERY OK source="tasks" db=0.1ms idle=151.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3218449] 05:53:20.747 [debug] QUERY OK source="sources" db=0.1ms idle=151.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:53:20.747 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=151.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [394380, 397235] 05:53:20.748 [debug] QUERY OK source="settings" db=0.0ms idle=58.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:20.748 [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 [] 05:53:20.748 [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 [] 05:53:20.749 [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] 05:53:20.750 [info] Sent 200 in 4ms 05:53:20.897 [info] GET /sources/32/media/2878600 05:53:20.897 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2878600", "source_id" => "32"} Pipelines: [:browser] 05:53:20.897 [debug] QUERY OK source="media_items" db=0.1ms idle=149.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" = ?) [2878600] 05:53:20.898 [debug] QUERY OK source="tasks" db=0.0ms idle=150.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2878600] 05:53:20.898 [debug] QUERY OK source="sources" db=0.1ms idle=149.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:20.898 [debug] QUERY OK source="settings" db=0.0ms idle=150.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:20.898 [debug] QUERY OK source="settings" db=0.0ms idle=149.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:20.899 [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:53:20.899 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:53:20.900 [info] Sent 200 in 2ms 05:53:21.477 [info] {"source":"oban","duration":7978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 05:53:21.717 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 507, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", "id" => "vel8YW7eCzE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vel8YW7eCzE", "playlist_index" => 5, "timestamp" => 1779390068, "title" => "RCE Bug Found in NGINX (With AI Tools)", "upload_date" => "20260521"} 05:53:21.717 [debug] QUERY OK source="sources" db=0.2ms idle=818.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:21.718 [debug] QUERY OK source="sources" db=0.1ms idle=818.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:21.719 [debug] QUERY OK source="media_items" db=1.5ms idle=818.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-21 19:01:08Z], 45] 05:53:21.722 [debug] QUERY OK source="media_items" db=2.8ms idle=241.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "RCE Bug Found in NGINX (With AI Tools)", "9ce7e25b-566a-4494-942e-7bdbf92bd798", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", 5, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", false, false, false, 45, [], 98, ~U[2026-05-21 19:01:08Z], ~U[2026-06-29 10:53:21Z], ~U[2026-06-29 10:53:21Z], "If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "RCE Bug Found in NGINX (With AI Tools)", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", false, 45, ~U[2026-05-21 19:01:08Z]] 05:53:21.723 [debug] QUERY OK source="sources" db=0.1ms idle=32.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 05:53:21.723 [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] 05:53:21.723 [debug] QUERY OK source="media_items" db=0.1ms 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 [3008138] 05:53:21.723 [debug] Current batch of media processed. Will check again in 1000ms 05:53:22.724 [debug] Current batch of media processed. Will check again in 1000ms 05:53:23.725 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 623, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", "id" => "4dOp-QA4VK4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4dOp-QA4VK4", "playlist_index" => 6, "timestamp" => 1778963904, "title" => "A Hacker Found The BitLocker Backdoor", "upload_date" => "20260516"} 05:53:23.726 [debug] QUERY OK source="sources" db=0.2ms idle=672.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:23.726 [debug] QUERY OK source="sources" db=0.1ms idle=673.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:23.728 [debug] QUERY OK source="media_items" db=1.3ms idle=673.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-16 20:38:24Z], 45] 05:53:23.729 [debug] QUERY OK source="media_items" db=0.9ms idle=675.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "A Hacker Found The BitLocker Backdoor", "72fe31ec-1269-4dc4-bbda-296520ebb705", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", 6, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", false, false, false, 45, [], 98, ~U[2026-05-16 20:38:24Z], ~U[2026-06-29 10:53:23Z], ~U[2026-06-29 10:53:23Z], "In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "A Hacker Found The BitLocker Backdoor", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", false, 45, ~U[2026-05-16 20:38:24Z]] 05:53:23.729 [debug] QUERY OK source="sources" db=0.1ms idle=36.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:23.730 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 05:53:23.730 [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 [2969802] 05:53:23.730 [debug] Current batch of media processed. Will check again in 1000ms 05:53:24.731 [debug] Current batch of media processed. Will check again in 1000ms 05:53:25.732 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 492, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", "id" => "ioc_GlSCsIg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ioc_GlSCsIg", "playlist_index" => 7, "timestamp" => 1778710408, "title" => "Linux Is Getting an Emergency Kill Switch", "upload_date" => "20260513"} 05:53:25.733 [debug] QUERY OK source="sources" db=0.1ms 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 (?)) [45] 05:53:25.733 [debug] QUERY OK source="sources" db=0.0ms idle=680.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:25.735 [debug] QUERY OK source="media_items" db=1.3ms idle=680.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-13 22:13:28Z], 45] 05:53:25.736 [debug] QUERY OK source="media_items" db=0.8ms idle=682.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Getting an Emergency Kill Switch", "a47a860c-bbc9-443e-86ac-baddd2a19ada", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", 7, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", false, false, false, 45, [], 98, ~U[2026-05-13 22:13:28Z], ~U[2026-06-29 10:53:25Z], ~U[2026-06-29 10:53:25Z], "In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Getting an Emergency Kill Switch", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", false, 45, ~U[2026-05-13 22:13:28Z]] 05:53:25.736 [debug] QUERY OK source="sources" db=0.1ms idle=39.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:25.736 [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] 05:53:25.737 [debug] QUERY OK source="media_items" db=0.1ms 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 [2947012] 05:53:25.737 [debug] Current batch of media processed. Will check again in 1000ms 05:53:26.738 [debug] Current batch of media processed. Will check again in 1000ms 05:53:27.739 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 556, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", "id" => "N_ALOVdrAmQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=N_ALOVdrAmQ", "playlist_index" => 8, "timestamp" => 1778102735, "title" => "Copy Fail The Worst Linux Privilege Escalation in Years", "upload_date" => "20260506"} 05:53:27.740 [debug] QUERY OK source="sources" db=0.2ms idle=686.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:27.740 [debug] QUERY OK source="sources" db=0.1ms idle=687.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:27.741 [debug] QUERY OK source="media_items" db=1.4ms idle=687.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-06 21:25:35Z], 45] 05:53:27.743 [debug] QUERY OK source="media_items" db=0.8ms idle=689.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Copy Fail The Worst Linux Privilege Escalation in Years", "7f9ed1df-819f-4837-b22e-0f1ef60f7d5f", "N_ALOVdrAmQ", 556, false, "https://www.youtube.com/watch?v=N_ALOVdrAmQ", 8, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", false, false, false, 45, [], 98, ~U[2026-05-06 21:25:35Z], ~U[2026-06-29 10:53:27Z], ~U[2026-06-29 10:53:27Z], "In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Copy Fail The Worst Linux Privilege Escalation in Years", "N_ALOVdrAmQ", 556, false, "https://www.youtube.com/watch?v=N_ALOVdrAmQ", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", false, 45, ~U[2026-05-06 21:25:35Z]] 05:53:27.743 [debug] QUERY OK source="sources" db=0.1ms idle=42.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:27.743 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:53:27.743 [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 [2893509] 05:53:27.743 [debug] Current batch of media processed. Will check again in 1000ms 05:53:28.745 [debug] Current batch of media processed. Will check again in 1000ms 05:53:29.709 [info] {"args":{"id":51},"id":419670,"meta":{},"system_time":1782730409709663234,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:53:29.710 [debug] QUERY OK source="sources" db=0.2ms idle=656.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:29.710 [debug] QUERY OK source="settings" db=0.0ms idle=657.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:29.710 [debug] QUERY OK source="media_profiles" db=0.2ms idle=657.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] 05:53:29.710 [debug] QUERY OK source="settings" db=0.1ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:29.710 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 05:53:29.746 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 497, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", "id" => "TwJhkFnROV8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TwJhkFnROV8", "playlist_index" => 9, "timestamp" => 1777760006, "title" => "The Password Manager Situation Is Crazy", "upload_date" => "20260502"} 05:53:29.746 [debug] QUERY OK source="sources" db=0.2ms idle=36.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:29.746 [debug] QUERY OK source="sources" db=0.1ms idle=36.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:29.748 [debug] QUERY OK source="media_items" db=1.3ms idle=36.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 22:13:26Z], 45] 05:53:29.749 [debug] QUERY OK source="media_items" db=0.9ms idle=37.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Password Manager Situation Is Crazy", "6090ca63-564d-4937-bb25-8258ee69f8bf", "TwJhkFnROV8", 497, false, "https://www.youtube.com/watch?v=TwJhkFnROV8", 9, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", false, false, false, 45, [], 98, ~U[2026-05-02 22:13:26Z], ~U[2026-06-29 10:53:29Z], ~U[2026-06-29 10:53:29Z], "In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Password Manager Situation Is Crazy", "TwJhkFnROV8", 497, false, "https://www.youtube.com/watch?v=TwJhkFnROV8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", false, 45, ~U[2026-05-02 22:13:26Z]] 05:53:29.749 [debug] QUERY OK source="sources" db=0.0ms idle=38.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 05:53:29.750 [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] 05:53:29.750 [debug] QUERY OK source="media_items" db=0.1ms 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 [2863999] 05:53:29.750 [debug] Current batch of media processed. Will check again in 1000ms 05:53:29.991 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 05:53:29.991 [debug] QUERY OK source="media_items" db=0.6ms idle=242.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 05:53:29.992 [debug] QUERY OK source="media_items" db=0.3ms idle=242.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")))) [51] 05:53:29.993 [debug] QUERY OK source="tasks" db=0.1ms idle=243.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419688, 51, ~U[2026-06-29 10:53:29Z], ~U[2026-06-29 10:53:29Z]] 05:53:29.994 [info] {"args":{"id":51},"id":419670,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":284081,"event":"job:stop","queue_time":780803,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:53:30.751 [debug] Current batch of media processed. Will check again in 1000ms 05:53:31.752 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 523, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", "id" => "xQO7svoRelw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xQO7svoRelw", "playlist_index" => 10, "timestamp" => 1777511969, "title" => "Ubuntu Linux Will Ship With AI", "upload_date" => "20260430"} 05:53:31.752 [debug] QUERY OK source="sources" db=0.5ms idle=699.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 05:53:31.753 [debug] QUERY OK source="sources" db=0.3ms idle=700.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:31.755 [debug] QUERY OK source="media_items" db=1.4ms idle=700.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 01:19:29Z], 45] 05:53:31.756 [debug] QUERY OK source="media_items" db=0.7ms idle=702.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Ubuntu Linux Will Ship With AI", "0bd771da-1ffd-465f-94da-6666733eaa1c", "xQO7svoRelw", 523, false, "https://www.youtube.com/watch?v=xQO7svoRelw", 10, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", false, false, false, 45, [], 98, ~U[2026-04-30 01:19:29Z], ~U[2026-06-29 10:53:31Z], ~U[2026-06-29 10:53:31Z], "In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Ubuntu Linux Will Ship With AI", "xQO7svoRelw", 523, false, "https://www.youtube.com/watch?v=xQO7svoRelw", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", false, 45, ~U[2026-04-30 01:19:29Z]] 05:53:31.756 [debug] QUERY OK source="sources" db=0.1ms idle=48.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 05:53:31.756 [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] 05:53:31.757 [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 [2841980] 05:53:31.757 [debug] Current batch of media processed. Will check again in 1000ms 05:53:32.758 [debug] Current batch of media processed. Will check again in 1000ms 05:53:33.760 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 543, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", "id" => "u3XlqKBeONY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=u3XlqKBeONY", "playlist_index" => 11, "timestamp" => 1777138036, "title" => "When The AI Model Comes With RCE", "upload_date" => "20260425"} 05:53:33.760 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=707.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:33.761 [debug] QUERY OK source="sources" db=0.1ms idle=708.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:33.762 [debug] QUERY OK source="media_items" db=1.4ms idle=708.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-25 17:27:16Z], 45] 05:53:33.763 [debug] QUERY OK source="media_items" db=0.8ms idle=709.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When The AI Model Comes With RCE", "90ceff1a-9906-41f0-a157-f7fa55466146", "u3XlqKBeONY", 543, false, "https://www.youtube.com/watch?v=u3XlqKBeONY", 11, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", false, false, false, 45, [], 98, ~U[2026-04-25 17:27:16Z], ~U[2026-06-29 10:53:33Z], ~U[2026-06-29 10:53:33Z], "In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When The AI Model Comes With RCE", "u3XlqKBeONY", 543, false, "https://www.youtube.com/watch?v=u3XlqKBeONY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", false, 45, ~U[2026-04-25 17:27:16Z]] 05:53:33.764 [debug] QUERY OK source="sources" db=0.2ms idle=53.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 05:53:33.764 [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] 05:53:33.765 [debug] QUERY OK source="media_items" db=0.1ms 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 [2808375] 05:53:33.765 [debug] Current batch of media processed. Will check again in 1000ms 05:53:34.766 [debug] Current batch of media processed. Will check again in 1000ms 05:53:35.767 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 514, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", "id" => "ThTJAlYGqkE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ThTJAlYGqkE", "playlist_index" => 12, "timestamp" => 1776475697, "title" => "France Is Ditching Windows for Linux", "upload_date" => "20260418"} 05:53:35.768 [debug] QUERY OK source="sources" db=0.3ms idle=715.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:35.768 [debug] QUERY OK source="sources" db=0.1ms idle=715.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:35.770 [debug] QUERY OK source="media_items" db=1.3ms idle=715.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-18 01:28:17Z], 45] 05:53:35.772 [debug] QUERY OK source="media_items" db=1.7ms idle=717.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "France Is Ditching Windows for Linux", "02c2dca0-4917-44a5-9b67-79759165b88f", "ThTJAlYGqkE", 514, false, "https://www.youtube.com/watch?v=ThTJAlYGqkE", 12, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", false, false, false, 45, [], 98, ~U[2026-04-18 01:28:17Z], ~U[2026-06-29 10:53:35Z], ~U[2026-06-29 10:53:35Z], "In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "France Is Ditching Windows for Linux", "ThTJAlYGqkE", 514, false, "https://www.youtube.com/watch?v=ThTJAlYGqkE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", false, 45, ~U[2026-04-18 01:28:17Z]] 05:53:35.772 [debug] QUERY OK source="sources" db=0.1ms idle=59.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:35.772 [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] 05:53:35.773 [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 [2749206] 05:53:35.773 [debug] Current batch of media processed. Will check again in 1000ms 05:53:36.774 [debug] Current batch of media processed. Will check again in 1000ms 05:53:37.775 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 515, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", "id" => "MsAOy_mSp_4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MsAOy_mSp_4", "playlist_index" => 13, "timestamp" => 1776126540, "title" => "Your Home Router Might Be In Danger", "upload_date" => "20260414"} 05:53:37.775 [debug] QUERY OK source="sources" db=0.2ms idle=722.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:37.775 [debug] QUERY OK source="sources" db=0.1ms idle=722.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:37.777 [debug] QUERY OK source="media_items" db=1.3ms idle=723.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-14 00:29:00Z], 45] 05:53:37.778 [debug] QUERY OK source="media_items" db=0.8ms idle=724.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your Home Router Might Be In Danger", "0f49ec14-6083-4443-aba4-304c248c8292", "MsAOy_mSp_4", 515, false, "https://www.youtube.com/watch?v=MsAOy_mSp_4", 13, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", false, false, false, 45, [], 98, ~U[2026-04-14 00:29:00Z], ~U[2026-06-29 10:53:37Z], ~U[2026-06-29 10:53:37Z], "In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your Home Router Might Be In Danger", "MsAOy_mSp_4", 515, false, "https://www.youtube.com/watch?v=MsAOy_mSp_4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", false, 45, ~U[2026-04-14 00:29:00Z]] 05:53:37.778 [debug] QUERY OK source="sources" db=0.1ms idle=63.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:37.779 [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] 05:53:37.779 [debug] QUERY OK source="media_items" db=0.1ms 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 [2723981] 05:53:37.779 [debug] Current batch of media processed. Will check again in 1000ms 05:53:38.780 [debug] Current batch of media processed. Will check again in 1000ms 05:53:39.781 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 889, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", "id" => "la21SXOll6c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=la21SXOll6c", "playlist_index" => 14, "timestamp" => 1775739724, "title" => "Install Arch Linux The Lazy Way", "upload_date" => "20260409"} 05:53:39.781 [debug] QUERY OK source="sources" db=0.1ms idle=728.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:39.781 [debug] QUERY OK source="sources" db=0.1ms idle=728.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:39.783 [debug] QUERY OK source="media_items" db=1.3ms idle=728.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-09 13:02:04Z], 45] 05:53:39.784 [debug] QUERY OK source="media_items" db=0.7ms idle=730.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Install Arch Linux The Lazy Way", "e8e3c758-20ce-4ecf-baa9-8307d8c4a8a1", "la21SXOll6c", 889, false, "https://www.youtube.com/watch?v=la21SXOll6c", 14, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", false, false, false, 45, [], 98, ~U[2026-04-09 13:02:04Z], ~U[2026-06-29 10:53:39Z], ~U[2026-06-29 10:53:39Z], "In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Install Arch Linux The Lazy Way", "la21SXOll6c", 889, false, "https://www.youtube.com/watch?v=la21SXOll6c", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", false, 45, ~U[2026-04-09 13:02:04Z]] 05:53:39.784 [debug] QUERY OK source="sources" db=0.1ms idle=67.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:39.785 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:53:39.785 [debug] QUERY OK source="media_items" db=0.1ms 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 [2688305] 05:53:39.785 [debug] Current batch of media processed. Will check again in 1000ms 05:53:40.786 [debug] Current batch of media processed. Will check again in 1000ms 05:53:41.788 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 659, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", "id" => "J6SFrdHOuFM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=J6SFrdHOuFM", "playlist_index" => 15, "timestamp" => 1775004780, "title" => "Uncomplicated Firewall Guide", "upload_date" => "20260401"} 05:53:41.788 [debug] QUERY OK source="sources" db=0.2ms idle=735.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:41.788 [debug] QUERY OK source="sources" db=0.1ms idle=735.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:41.790 [debug] QUERY OK source="media_items" db=1.4ms idle=735.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-01 00:53:00Z], 45] 05:53:41.791 [debug] QUERY OK source="media_items" db=0.7ms idle=737.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Uncomplicated Firewall Guide", "227a9076-3ef5-494a-8b38-45aab3af318d", "J6SFrdHOuFM", 659, false, "https://www.youtube.com/watch?v=J6SFrdHOuFM", 15, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", false, false, false, 45, [], 98, ~U[2026-04-01 00:53:00Z], ~U[2026-06-29 10:53:41Z], ~U[2026-06-29 10:53:41Z], "In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Uncomplicated Firewall Guide", "J6SFrdHOuFM", 659, false, "https://www.youtube.com/watch?v=J6SFrdHOuFM", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", false, 45, ~U[2026-04-01 00:53:00Z]] 05:53:41.791 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [45] 05:53:41.791 [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] 05:53:41.792 [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 [2619987] 05:53:41.792 [debug] Current batch of media processed. Will check again in 1000ms 05:53:42.793 [debug] Current batch of media processed. Will check again in 1000ms 05:53:43.794 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 1125, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", "id" => "oc6WOCx1vCE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oc6WOCx1vCE", "playlist_index" => 16, "timestamp" => 1774389532, "title" => "Making Linux Ungovernable With I2P", "upload_date" => "20260324"} 05:53:43.794 [debug] QUERY OK source="sources" db=0.2ms idle=741.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:43.794 [debug] QUERY OK source="sources" db=0.1ms idle=741.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:43.796 [debug] QUERY OK source="media_items" db=1.5ms idle=742.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-24 21:58:52Z], 45] 05:53:43.797 [debug] QUERY OK source="media_items" db=0.8ms idle=743.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Making Linux Ungovernable With I2P", "f14d3679-1b55-4d17-8f9c-7a396de79f4c", "oc6WOCx1vCE", 1125, false, "https://www.youtube.com/watch?v=oc6WOCx1vCE", 16, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", false, false, false, 45, [], 98, ~U[2026-03-24 21:58:52Z], ~U[2026-06-29 10:53:43Z], ~U[2026-06-29 10:53:43Z], "In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Making Linux Ungovernable With I2P", "oc6WOCx1vCE", 1125, false, "https://www.youtube.com/watch?v=oc6WOCx1vCE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", false, 45, ~U[2026-03-24 21:58:52Z]] 05:53:43.798 [debug] QUERY OK source="sources" db=0.1ms idle=75.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 05:53:43.798 [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] 05:53:43.798 [debug] QUERY OK source="media_items" db=0.1ms 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 [2565295] 05:53:43.798 [debug] Current batch of media processed. Will check again in 1000ms 05:53:44.799 [debug] Current batch of media processed. Will check again in 1000ms 05:53:45.800 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 532, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", "id" => "4KyiLyOxux8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4KyiLyOxux8", "playlist_index" => 17, "timestamp" => 1773529831, "title" => "Meta Spent Millions To Push The New Age Check Laws", "upload_date" => "20260314"} 05:53:45.800 [debug] QUERY OK source="sources" db=0.2ms idle=747.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:45.801 [debug] QUERY OK source="sources" db=0.1ms idle=747.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:45.802 [debug] QUERY OK source="media_items" db=1.3ms 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-03-14 23:10:31Z], 45] 05:53:45.803 [debug] QUERY OK source="media_items" db=0.8ms idle=749.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Meta Spent Millions To Push The New Age Check Laws", "8ef995ec-6a20-4971-9cf6-ebe186bfa8ee", "4KyiLyOxux8", 532, false, "https://www.youtube.com/watch?v=4KyiLyOxux8", 17, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", false, false, false, 45, [], 98, ~U[2026-03-14 23:10:31Z], ~U[2026-06-29 10:53:45Z], ~U[2026-06-29 10:53:45Z], "In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Meta Spent Millions To Push The New Age Check Laws", "4KyiLyOxux8", 532, false, "https://www.youtube.com/watch?v=4KyiLyOxux8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", false, 45, ~U[2026-03-14 23:10:31Z]] 05:53:45.804 [debug] QUERY OK source="sources" db=0.1ms idle=78.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:45.804 [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] 05:53:45.804 [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 [2488162] 05:53:45.804 [debug] Current batch of media processed. Will check again in 1000ms 05:53:46.805 [debug] Current batch of media processed. Will check again in 1000ms 05:53:47.806 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 526, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", "id" => "hiMqdYh9LNU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hiMqdYh9LNU", "playlist_index" => 18, "timestamp" => 1773332609, "title" => "The Online ID Check Situation is Crazy", "upload_date" => "20260312"} 05:53:47.807 [debug] QUERY OK source="sources" db=0.2ms idle=753.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:47.807 [debug] QUERY OK source="sources" db=0.1ms idle=754.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:47.809 [debug] QUERY OK source="media_items" db=1.4ms idle=754.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-12 16:23:29Z], 45] 05:53:47.810 [debug] QUERY OK source="media_items" db=0.8ms idle=756.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Online ID Check Situation is Crazy", "9769abfc-9242-4cb9-bc38-4b949ec04c42", "hiMqdYh9LNU", 526, false, "https://www.youtube.com/watch?v=hiMqdYh9LNU", 18, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", false, false, false, 45, [], 98, ~U[2026-03-12 16:23:29Z], ~U[2026-06-29 10:53:47Z], ~U[2026-06-29 10:53:47Z], "In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Online ID Check Situation is Crazy", "hiMqdYh9LNU", 526, false, "https://www.youtube.com/watch?v=hiMqdYh9LNU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", false, 45, ~U[2026-03-12 16:23:29Z]] 05:53:47.810 [debug] QUERY OK source="sources" db=0.1ms idle=82.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:47.810 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:53:47.811 [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 [2470150] 05:53:47.811 [debug] Current batch of media processed. Will check again in 1000ms 05:53:48.011 [info] GET /sources/55/media/3236796/edit 05:53:48.011 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3236796", "source_id" => "55"} Pipelines: [:browser] 05:53:48.011 [info] GET /sources/9/media/2984780 05:53:48.011 [info] GET /sources/55/media/3292181 05:53:48.011 [info] GET /sources/9/media/2984780/edit 05:53:48.011 [info] GET /sources/55/media/3236796 05:53:48.011 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3292181", "source_id" => "55"} Pipelines: [:browser] 05:53:48.011 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2984780", "source_id" => "9"} Pipelines: [:browser] 05:53:48.011 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3236796", "source_id" => "55"} Pipelines: [:browser] 05:53:48.011 [info] GET /sources/55/media/3071593/edit 05:53:48.011 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2984780", "source_id" => "9"} Pipelines: [:browser] 05:53:48.011 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3071593", "source_id" => "55"} Pipelines: [:browser] 05:53:48.012 [debug] QUERY OK source="media_items" db=0.9ms idle=201.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" = ?) [3292181] 05:53:48.012 [debug] QUERY OK source="media_items" db=0.8ms idle=200.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" = ?) [2984780] 05:53:48.012 [debug] QUERY OK source="media_items" db=1.1ms idle=201.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" = ?) [2984780] 05:53:48.013 [debug] QUERY OK source="media_items" db=1.2ms idle=201.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" = ?) [3236796] 05:53:48.013 [debug] QUERY OK source="media_items" db=1.6ms idle=202.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" = ?) [3236796] 05:53:48.013 [debug] QUERY OK source="media_items" db=0.6ms queue=0.8ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3071593] 05:53:48.013 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.013 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=0.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3292181] 05:53:48.013 [debug] QUERY OK source="tasks" db=0.6ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2984780] 05:53:48.013 [debug] QUERY OK source="tasks" db=0.4ms queue=0.2ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3236796] 05:53:48.013 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 05:53:48.014 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.014 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.014 [debug] QUERY OK source="sources" db=0.8ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 05:53:48.014 [debug] QUERY OK source="settings" db=0.5ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.014 [debug] QUERY OK source="sources" db=1.0ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 05:53:48.014 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.014 [debug] QUERY OK source="settings" db=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.015 [debug] QUERY OK source="settings" db=0.3ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.015 [debug] QUERY OK source="settings" db=0.5ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.015 [debug] QUERY OK source="settings" db=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.015 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [414070, 416593] 05:53:48.015 [debug] QUERY OK source="settings" db=0.4ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.015 [debug] QUERY OK source="settings" db=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.015 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=0.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [399281, 401860] 05:53:48.016 [debug] QUERY OK source="settings" db=0.2ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.016 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.016 [info] Sent 200 in 5ms 05:53:48.016 [info] Sent 200 in 4ms 05:53:48.016 [info] Sent 200 in 4ms 05:53:48.016 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.016 [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:53:48.016 [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:53:48.017 [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] 05:53:48.017 [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:53:48.017 [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:53:48.017 [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] 05:53:48.017 [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] 05:53:48.018 [info] Sent 200 in 6ms 05:53:48.018 [info] Sent 200 in 7ms 05:53:48.018 [info] Sent 200 in 7ms 05:53:48.134 [info] GET /sources/55/media/2962708/edit 05:53:48.134 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2962708", "source_id" => "55"} Pipelines: [:browser] 05:53:48.134 [debug] QUERY OK source="media_items" db=0.1ms idle=117.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2962708] 05:53:48.135 [debug] QUERY OK source="settings" db=0.1ms idle=118.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.135 [debug] QUERY OK source="settings" db=0.0ms idle=118.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.135 [debug] QUERY OK source="settings" db=0.0ms idle=118.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:48.136 [info] Sent 200 in 2ms 05:53:48.286 [info] GET /sources/55/media/3071593 05:53:48.286 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3071593", "source_id" => "55"} Pipelines: [:browser] 05:53:48.286 [debug] QUERY OK source="media_items" db=0.2ms idle=268.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3071593] 05:53:48.287 [debug] QUERY OK source="tasks" db=0.1ms idle=152.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3071593] 05:53:48.287 [debug] QUERY OK source="sources" db=0.1ms idle=151.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:48.287 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=151.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" = ?) [357152] 05:53:48.287 [debug] QUERY OK source="settings" db=0.1ms idle=151.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:48.287 [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:53:48.288 [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 [] 05:53:48.288 [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] 05:53:48.289 [info] Sent 200 in 3ms 05:53:48.415 [info] GET /sources/9/media/3274647/edit 05:53:48.415 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3274647", "source_id" => "9"} Pipelines: [:browser] 05:53:48.416 [debug] QUERY OK source="media_items" db=0.2ms idle=128.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" = ?) [3274647] 05:53:48.416 [debug] QUERY OK source="settings" db=0.1ms idle=128.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:48.416 [debug] QUERY OK source="settings" db=0.0ms idle=128.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:48.416 [debug] QUERY OK source="settings" db=0.0ms idle=128.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:48.417 [info] Sent 200 in 2ms 05:53:48.544 [info] GET /sources/55/media/2909119/edit 05:53:48.544 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2909119", "source_id" => "55"} Pipelines: [:browser] 05:53:48.544 [debug] QUERY OK source="media_items" db=0.2ms idle=256.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" = ?) [2909119] 05:53:48.545 [debug] QUERY OK source="settings" db=0.1ms idle=129.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:48.545 [debug] QUERY OK source="settings" db=0.0ms idle=128.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:48.545 [debug] QUERY OK source="settings" db=0.1ms idle=129.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:48.546 [info] Sent 200 in 2ms 05:53:48.673 [info] GET /sources/55/media/2962708 05:53:48.673 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2962708", "source_id" => "55"} Pipelines: [:browser] 05:53:48.674 [debug] QUERY OK source="media_items" db=0.1ms idle=256.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" = ?) [2962708] 05:53:48.674 [debug] QUERY OK source="tasks" db=0.1ms idle=129.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2962708] 05:53:48.674 [debug] QUERY OK source="sources" db=0.2ms idle=128.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 05:53:48.674 [debug] QUERY OK source="settings" db=0.0ms idle=129.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:48.674 [debug] QUERY OK source="settings" db=0.0ms idle=128.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:48.675 [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 [] 05:53:48.675 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:53:48.676 [info] Sent 200 in 2ms 05:53:48.802 [info] GET /sources/9/media/3148351/edit 05:53:48.802 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3148351", "source_id" => "9"} Pipelines: [:browser] 05:53:48.803 [debug] QUERY OK source="media_items" db=0.1ms idle=128.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" = ?) [3148351] 05:53:48.803 [debug] QUERY OK source="settings" db=0.1ms idle=128.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.803 [debug] QUERY OK source="settings" db=0.0ms idle=128.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.803 [debug] QUERY OK source="settings" db=0.0ms idle=128.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:48.804 [info] Sent 200 in 2ms 05:53:48.811 [debug] Current batch of media processed. Will check again in 1000ms 05:53:48.931 [info] GET /sources/38/media/3264872/edit 05:53:48.931 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3264872", "source_id" => "38"} Pipelines: [:browser] 05:53:48.932 [debug] QUERY OK source="media_items" db=0.1ms idle=203.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" = ?) [3264872] 05:53:48.932 [debug] QUERY OK source="settings" db=0.1ms idle=129.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:48.932 [debug] QUERY OK source="settings" db=0.3ms idle=129.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:48.933 [debug] QUERY OK source="settings" db=0.0ms idle=129.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:48.933 [info] Sent 200 in 2ms 05:53:49.044 [info] GET /sources/9/media/2969134/edit 05:53:49.044 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2969134", "source_id" => "9"} Pipelines: [:browser] 05:53:49.045 [debug] QUERY OK source="media_items" db=0.1ms idle=241.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" = ?) [2969134] 05:53:49.045 [debug] QUERY OK source="settings" db=0.1ms idle=113.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:49.045 [debug] QUERY OK source="settings" db=0.0ms idle=113.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:49.046 [debug] QUERY OK source="settings" db=0.0ms idle=113.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:49.046 [info] Sent 200 in 1ms 05:53:49.157 [info] GET /sources/55/media/2909119 05:53:49.158 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2909119", "source_id" => "55"} Pipelines: [:browser] 05:53:49.158 [debug] QUERY OK source="media_items" db=0.1ms idle=224.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" = ?) [2909119] 05:53:49.158 [debug] QUERY OK source="tasks" db=0.0ms idle=113.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2909119] 05:53:49.158 [debug] QUERY OK source="sources" db=0.1ms idle=113.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:49.159 [debug] QUERY OK source="settings" db=0.0ms idle=113.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:49.159 [debug] QUERY OK source="settings" db=0.0ms idle=113.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:49.159 [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 [] 05:53:49.159 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:53:49.160 [info] Sent 200 in 3ms 05:53:49.272 [info] GET /sources/9/media/2969138/edit 05:53:49.273 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2969138", "source_id" => "9"} Pipelines: [:browser] 05:53:49.273 [debug] QUERY OK source="media_items" db=0.1ms idle=114.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" = ?) [2969138] 05:53:49.273 [debug] QUERY OK source="settings" db=0.0ms idle=114.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:49.273 [debug] QUERY OK source="settings" db=0.0ms idle=114.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:49.274 [debug] QUERY OK source="settings" db=0.0ms idle=114.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:49.275 [info] Sent 200 in 2ms 05:53:49.386 [info] GET /sources/46/media/2889160/edit 05:53:49.386 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2889160", "source_id" => "46"} Pipelines: [:browser] 05:53:49.386 [debug] QUERY OK source="media_items" db=0.1ms idle=226.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" = ?) [2889160] 05:53:49.387 [debug] QUERY OK source="settings" db=0.1ms idle=113.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:49.387 [debug] QUERY OK source="settings" db=0.0ms idle=113.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:49.387 [debug] QUERY OK source="settings" db=0.0ms idle=113.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:49.388 [info] Sent 200 in 2ms 05:53:49.813 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 1142, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", "id" => "K3QOAVrhGTg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=K3QOAVrhGTg", "playlist_index" => 19, "timestamp" => 1773183113, "title" => "Installing Linux Just Got Easier", "upload_date" => "20260310"} 05:53:49.813 [debug] QUERY OK source="sources" db=0.2ms idle=426.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:49.814 [debug] QUERY OK source="sources" db=0.1ms idle=426.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:49.815 [debug] QUERY OK source="media_items" db=1.3ms idle=426.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-10 22:51:53Z], 45] 05:53:49.816 [debug] QUERY OK source="media_items" db=0.8ms idle=428.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Installing Linux Just Got Easier", "18da0de8-6934-4720-8976-677ca32f3ab5", "K3QOAVrhGTg", 1142, false, "https://www.youtube.com/watch?v=K3QOAVrhGTg", 19, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", false, false, false, 45, [], 98, ~U[2026-03-10 22:51:53Z], ~U[2026-06-29 10:53:49Z], ~U[2026-06-29 10:53:49Z], "In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Installing Linux Just Got Easier", "K3QOAVrhGTg", 1142, false, "https://www.youtube.com/watch?v=K3QOAVrhGTg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", false, 45, ~U[2026-03-10 22:51:53Z]] 05:53:49.817 [debug] QUERY OK source="sources" db=0.1ms idle=86.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:53:49.817 [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] 05:53:49.817 [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 [2456354] 05:53:49.817 [debug] Current batch of media processed. Will check again in 1000ms 05:53:50.819 [debug] Current batch of media processed. Will check again in 1000ms 05:53:51.321 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/channel/UC7YOGHUfC1Tb6E4pudI9STA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/a6/2b/a62b585d9d8956eef00b1889030d7c556497ab788ac856fb5951b7db8bd89916.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/95/df/95df4f276ccf464d45e908ff186698455118c579a09901d1d17d2db2b2a6fe62.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 05:53:51.321 [debug] Gracefully stopping file follower 05:53:51.322 [debug] QUERY OK source="sources" db=0.1ms idle=590.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 05:53:51.322 [debug] QUERY OK source="sources" db=0.1ms idle=269.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:53:51.324 [debug] QUERY OK source="media_items" db=1.3ms idle=269.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-25 23:30:42Z], 45] 05:53:51.325 [debug] QUERY OK source="media_items" db=0.8ms idle=271.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how apps on smartTV's are being used to setup stealthy residential proxies to support botnets using the TV owners home internet connection.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your TV Might Be Part Of A Botnet", "a913087e-3cc7-4456-9fb9-162043acf250", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", 1, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e062500_Your TV Might Be Part Of A Botnet.mp4", false, false, false, 45, [], 98, ~U[2026-06-25 23:30:42Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discuss how apps on smartTV's are being used to setup stealthy residential proxies to support botnets using the TV owners home internet connection.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your TV Might Be Part Of A Botnet", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e062500_Your TV Might Be Part Of A Botnet.mp4", false, 45, ~U[2026-06-25 23:30:42Z]] 05:53:51.325 [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" = ?) [45] 05:53:51.326 [debug] QUERY OK source="media_items" db=1.2ms 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-16 00:08:26Z], 45] 05:53:51.327 [debug] QUERY OK source="media_items" db=0.8ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I explain how a security researcher discovered an exploit in Creative's Sound Blaster Katana V2X soundbar that allows someone to install custom firmware to the speaker over an unauthenticated bluetooth connection to turn the speaker into a surveillance device or HID that can send commands to your computer.\n\nRead the security researchers write up on the issue here\nhttps://blog.nns.ee/2026/06/03/katana-badusb/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When Your Computer Gets Hacked Through A Bluetooth Speaker", "9a5600b8-9975-4ce0-9bee-4f5681f16261", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", 2, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e061600_When Your Computer Gets Hacked Through A Bluetooth Speaker.mp4", false, false, false, 45, [], 98, ~U[2026-06-16 00:08:26Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I explain how a security researcher discovered an exploit in Creative's Sound Blaster Katana V2X soundbar that allows someone to install custom firmware to the speaker over an unauthenticated bluetooth connection to turn the speaker into a surveillance device or HID that can send commands to your computer.\n\nRead the security researchers write up on the issue here\nhttps://blog.nns.ee/2026/06/03/katana-badusb/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When Your Computer Gets Hacked Through A Bluetooth Speaker", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e061600_When Your Computer Gets Hacked Through A Bluetooth Speaker.mp4", false, 45, ~U[2026-06-16 00:08:26Z]] 05:53:51.328 [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" = ?) [45] 05:53:51.329 [debug] QUERY OK source="media_items" db=1.1ms 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-05 19:53:21Z], 45] 05:53:51.330 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "04cc14f0-bb22-42c8-9916-ca463becb1cc", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", 3, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", false, false, false, 45, [], 98, ~U[2026-06-05 19:53:21Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", false, 45, ~U[2026-06-05 19:53:21Z]] 05:53:51.330 [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" = ?) [45] 05:53:51.331 [debug] QUERY OK source="media_items" db=1.0ms 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-28 21:53:49Z], 45] 05:53:51.332 [debug] QUERY OK source="media_items" db=0.6ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Too Powerful For Age Check Laws", "a8bc0f16-deb7-4b5b-a6af-13cf1a8cc0d5", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", 4, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", false, false, false, 45, [], 98, ~U[2026-05-28 21:53:49Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Too Powerful For Age Check Laws", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", false, 45, ~U[2026-05-28 21:53:49Z]] 05:53:51.333 [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" = ?) [45] 05:53:51.334 [debug] QUERY OK source="media_items" db=1.0ms 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-05-21 19:01:08Z], 45] 05:53:51.335 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "RCE Bug Found in NGINX (With AI Tools)", "af044c7d-6cf8-4280-9d6a-b2a6e6b87215", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", 5, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", false, false, false, 45, [], 98, ~U[2026-05-21 19:01:08Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "RCE Bug Found in NGINX (With AI Tools)", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", false, 45, ~U[2026-05-21 19:01:08Z]] 05:53:51.335 [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" = ?) [45] 05:53:51.336 [debug] QUERY OK source="media_items" db=1.1ms 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-16 20:38:24Z], 45] 05:53:51.337 [debug] QUERY OK source="media_items" db=0.7ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "A Hacker Found The BitLocker Backdoor", "1896f8d6-4cc9-440c-8563-5e24f068ef19", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", 6, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", false, false, false, 45, [], 98, ~U[2026-05-16 20:38:24Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "A Hacker Found The BitLocker Backdoor", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", false, 45, ~U[2026-05-16 20:38:24Z]] 05:53:51.338 [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" = ?) [45] 05:53:51.339 [debug] QUERY OK source="media_items" db=1.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-05-13 22:13:28Z], 45] 05:53:51.340 [debug] QUERY OK source="media_items" db=0.7ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Getting an Emergency Kill Switch", "9f76fc09-4b0f-4a82-957d-6399d0673f07", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", 7, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", false, false, false, 45, [], 98, ~U[2026-05-13 22:13:28Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Getting an Emergency Kill Switch", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", false, 45, ~U[2026-05-13 22:13:28Z]] 05:53:51.340 [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" = ?) [45] 05:53:51.341 [debug] QUERY OK source="media_items" db=1.0ms 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-06 21:25:35Z], 45] 05:53:51.342 [debug] QUERY OK source="media_items" db=0.6ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Copy Fail The Worst Linux Privilege Escalation in Years", "52f0a16c-62f5-487f-a064-672c04cf2d22", "N_ALOVdrAmQ", 556, false, "https://www.youtube.com/watch?v=N_ALOVdrAmQ", 8, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", false, false, false, 45, [], 98, ~U[2026-05-06 21:25:35Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Copy Fail The Worst Linux Privilege Escalation in Years", "N_ALOVdrAmQ", 556, false, "https://www.youtube.com/watch?v=N_ALOVdrAmQ", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", false, 45, ~U[2026-05-06 21:25:35Z]] 05:53:51.343 [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" = ?) [45] 05:53:51.344 [debug] QUERY OK source="media_items" db=1.1ms 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-02 22:13:26Z], 45] 05:53:51.347 [debug] QUERY OK source="media_items" db=2.4ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Password Manager Situation Is Crazy", "cd6bb0a4-da0e-4f90-ac25-c279a3be1904", "TwJhkFnROV8", 497, false, "https://www.youtube.com/watch?v=TwJhkFnROV8", 9, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", false, false, false, 45, [], 98, ~U[2026-05-02 22:13:26Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Password Manager Situation Is Crazy", "TwJhkFnROV8", 497, false, "https://www.youtube.com/watch?v=TwJhkFnROV8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", false, 45, ~U[2026-05-02 22:13:26Z]] 05:53:51.347 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 05:53:51.348 [debug] QUERY OK source="media_items" db=1.1ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-30 01:19:29Z], 45] 05:53:51.349 [debug] QUERY OK source="media_items" db=0.7ms idle=5.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Ubuntu Linux Will Ship With AI", "ae30d261-9689-4783-a8f5-0b7bdb026790", "xQO7svoRelw", 523, false, "https://www.youtube.com/watch?v=xQO7svoRelw", 10, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", false, false, false, 45, [], 98, ~U[2026-04-30 01:19:29Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Ubuntu Linux Will Ship With AI", "xQO7svoRelw", 523, false, "https://www.youtube.com/watch?v=xQO7svoRelw", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", false, 45, ~U[2026-04-30 01:19:29Z]] 05:53:51.350 [debug] QUERY OK source="sources" db=0.2ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 05:53:51.351 [debug] QUERY OK source="media_items" db=1.1ms 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-25 17:27:16Z], 45] 05:53:51.352 [debug] QUERY OK source="media_items" db=0.7ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When The AI Model Comes With RCE", "15c9a77d-3dec-40cd-8314-5c470aa6fbe5", "u3XlqKBeONY", 543, false, "https://www.youtube.com/watch?v=u3XlqKBeONY", 11, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", false, false, false, 45, [], 98, ~U[2026-04-25 17:27:16Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When The AI Model Comes With RCE", "u3XlqKBeONY", 543, false, "https://www.youtube.com/watch?v=u3XlqKBeONY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", false, 45, ~U[2026-04-25 17:27:16Z]] 05:53:51.353 [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" = ?) [45] 05:53:51.354 [debug] QUERY OK source="media_items" db=1.1ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-18 01:28:17Z], 45] 05:53:51.355 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "France Is Ditching Windows for Linux", "8b953b96-1cc3-4b5c-ba90-23a72558bfc6", "ThTJAlYGqkE", 514, false, "https://www.youtube.com/watch?v=ThTJAlYGqkE", 12, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", false, false, false, 45, [], 98, ~U[2026-04-18 01:28:17Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "France Is Ditching Windows for Linux", "ThTJAlYGqkE", 514, false, "https://www.youtube.com/watch?v=ThTJAlYGqkE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", false, 45, ~U[2026-04-18 01:28:17Z]] 05:53:51.355 [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" = ?) [45] 05:53:51.356 [debug] QUERY OK source="media_items" db=1.1ms 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-14 00:29:00Z], 45] 05:53:51.357 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your Home Router Might Be In Danger", "5fcc342e-dbbb-47be-a29c-92ed2bd4387d", "MsAOy_mSp_4", 515, false, "https://www.youtube.com/watch?v=MsAOy_mSp_4", 13, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", false, false, false, 45, [], 98, ~U[2026-04-14 00:29:00Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your Home Router Might Be In Danger", "MsAOy_mSp_4", 515, false, "https://www.youtube.com/watch?v=MsAOy_mSp_4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", false, 45, ~U[2026-04-14 00:29:00Z]] 05:53:51.358 [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" = ?) [45] 05:53:51.359 [debug] QUERY OK source="media_items" db=1.0ms 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-09 13:02:04Z], 45] 05:53:51.360 [debug] QUERY OK source="media_items" db=0.6ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Install Arch Linux The Lazy Way", "a6e011c9-fecd-4b9e-bd1f-22928af8e180", "la21SXOll6c", 889, false, "https://www.youtube.com/watch?v=la21SXOll6c", 14, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", false, false, false, 45, [], 98, ~U[2026-04-09 13:02:04Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Install Arch Linux The Lazy Way", "la21SXOll6c", 889, false, "https://www.youtube.com/watch?v=la21SXOll6c", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", false, 45, ~U[2026-04-09 13:02:04Z]] 05:53:51.360 [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" = ?) [45] 05:53:51.361 [debug] QUERY OK source="media_items" db=1.0ms 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-01 00:53:00Z], 45] 05:53:51.362 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Uncomplicated Firewall Guide", "41b78554-e5e2-4781-b50f-70145b84429c", "J6SFrdHOuFM", 659, false, "https://www.youtube.com/watch?v=J6SFrdHOuFM", 15, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", false, false, false, 45, [], 98, ~U[2026-04-01 00:53:00Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Uncomplicated Firewall Guide", "J6SFrdHOuFM", 659, false, "https://www.youtube.com/watch?v=J6SFrdHOuFM", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", false, 45, ~U[2026-04-01 00:53:00Z]] 05:53:51.363 [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" = ?) [45] 05:53:51.364 [debug] QUERY OK source="media_items" db=1.1ms 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-03-24 21:58:52Z], 45] 05:53:51.365 [debug] QUERY OK source="media_items" db=0.7ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Making Linux Ungovernable With I2P", "6c72bae4-5eea-4baa-9758-a6adaf1fdcba", "oc6WOCx1vCE", 1125, false, "https://www.youtube.com/watch?v=oc6WOCx1vCE", 16, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", false, false, false, 45, [], 98, ~U[2026-03-24 21:58:52Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Making Linux Ungovernable With I2P", "oc6WOCx1vCE", 1125, false, "https://www.youtube.com/watch?v=oc6WOCx1vCE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", false, 45, ~U[2026-03-24 21:58:52Z]] 05:53:51.365 [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" = ?) [45] 05:53:51.366 [debug] QUERY OK source="media_items" db=1.1ms 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-03-14 23:10:31Z], 45] 05:53:51.367 [debug] QUERY OK source="media_items" db=0.7ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Meta Spent Millions To Push The New Age Check Laws", "3af67f23-d54c-461e-bed6-1309e7857a12", "4KyiLyOxux8", 532, false, "https://www.youtube.com/watch?v=4KyiLyOxux8", 17, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", false, false, false, 45, [], 98, ~U[2026-03-14 23:10:31Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Meta Spent Millions To Push The New Age Check Laws", "4KyiLyOxux8", 532, false, "https://www.youtube.com/watch?v=4KyiLyOxux8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", false, 45, ~U[2026-03-14 23:10:31Z]] 05:53:51.368 [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" = ?) [45] 05:53:51.369 [debug] QUERY OK source="media_items" db=1.0ms 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-03-12 16:23:29Z], 45] 05:53:51.392 [debug] QUERY OK source="media_items" db=22.9ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Online ID Check Situation is Crazy", "606117c1-3b40-4a84-9910-035e50f85b1b", "hiMqdYh9LNU", 526, false, "https://www.youtube.com/watch?v=hiMqdYh9LNU", 18, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", false, false, false, 45, [], 98, ~U[2026-03-12 16:23:29Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Online ID Check Situation is Crazy", "hiMqdYh9LNU", 526, false, "https://www.youtube.com/watch?v=hiMqdYh9LNU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", false, 45, ~U[2026-03-12 16:23:29Z]] 05:53:51.393 [debug] QUERY OK source="sources" db=0.4ms idle=26.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 05:53:51.394 [debug] QUERY OK source="media_items" db=1.2ms idle=25.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-10 22:51:53Z], 45] 05:53:51.398 [debug] QUERY OK source="media_items" db=3.8ms idle=26.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Installing Linux Just Got Easier", "0e900df2-0b32-4110-b5fe-aa93595971f9", "K3QOAVrhGTg", 1142, false, "https://www.youtube.com/watch?v=K3QOAVrhGTg", 19, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", false, false, false, 45, [], 98, ~U[2026-03-10 22:51:53Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Installing Linux Just Got Easier", "K3QOAVrhGTg", 1142, false, "https://www.youtube.com/watch?v=K3QOAVrhGTg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", false, 45, ~U[2026-03-10 22:51:53Z]] 05:53:51.399 [debug] QUERY OK source="sources" db=0.2ms idle=29.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 05:53:51.400 [debug] QUERY OK source="media_items" db=1.2ms idle=7.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-05 20:52:32Z], 45] 05:53:51.401 [debug] QUERY OK source="media_items" db=0.6ms idle=7.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how states are passing laws that would require users to submit their age in order to use an operating system, and how this will affect the free software community.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Online Age Checks Are Going Too Far", "e9153dd4-6c08-4216-b6be-fbb81c69d5e6", "QKzRf8B-oDk", 579, false, "https://www.youtube.com/watch?v=QKzRf8B-oDk", 20, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e030500_Online Age Checks Are Going Too Far.mp4", false, false, false, 45, [], 98, ~U[2026-03-05 20:52:32Z], ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], "In this video I discuss how states are passing laws that would require users to submit their age in order to use an operating system, and how this will affect the free software community.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Online Age Checks Are Going Too Far", "QKzRf8B-oDk", 579, false, "https://www.youtube.com/watch?v=QKzRf8B-oDk", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e030500_Online Age Checks Are Going Too Far.mp4", false, 45, ~U[2026-03-05 20:52:32Z]] 05:53:51.402 [debug] QUERY OK source="sources" db=0.1ms idle=7.0ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z], 45] 05:53:51.403 [debug] QUERY OK source="media_items" db=1.2ms 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")))) [45] 05:53:51.404 [debug] QUERY OK source="media_items" db=1.2ms idle=4.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")))) [45] 05:53:51.405 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [45] 05:53:51.406 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419689, 45, ~U[2026-06-29 10:53:51Z], ~U[2026-06-29 10:53:51Z]] 05:53:51.406 [info] {"args":{"id":45},"id":419595,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":41726833,"event":"job:stop","queue_time":330064,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 05:53:51.486 [info] {"source":"oban","duration":7174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.951 [info] {"source":"oban","duration":297,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:54:19.382 [info] GET /sources/52/media/3219365/force_download 05:54:19.382 [info] GET /sources/43/media/3169652/force_download 05:54:19.382 [debug] QUERY OK source="settings" db=0.2ms idle=1329.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:19.382 [debug] QUERY OK source="settings" db=0.2ms idle=610.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:19.383 [debug] QUERY OK source="settings" db=0.1ms idle=330.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:19.383 [debug] QUERY OK source="settings" db=0.1ms idle=330.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:19.383 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:54:19.383 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:54:19.383 [error] #PID<0.1177456.0> running PinchflatWeb.Endpoint (connection #PID<0.1177448.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/3219365/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/3219365/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177448.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3219365/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53792}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177456.0>, params: %{}, path_info: ["sources", "52", "media", "3219365", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/3219365/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H6FHBwvu4ld4CQYjB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177448.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3219365/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53792}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/52/media/3219365/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177448.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3219365/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53792}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177456.0>, params: %{}, path_info: ["sources", "52", "media", "3219365", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:54:19.383 [error] #PID<0.1177455.0> running PinchflatWeb.Endpoint (connection #PID<0.1177447.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3169652/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3169652/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177447.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3169652/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53788}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177455.0>, params: %{}, path_info: ["sources", "43", "media", "3169652", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3169652/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H6FHBykNXI1YBc-sC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177447.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3169652/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53788}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/43/media/3169652/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177447.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3169652/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53788}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177455.0>, params: %{}, path_info: ["sources", "43", "media", "3169652", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:54:19.396 [info] GET /media/420a194b-ebda-4872-b017-e29f57e5e177/stream 05:54:19.396 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "420a194b-ebda-4872-b017-e29f57e5e177"} Pipelines: [:maybe_basic_auth] 05:54:19.397 [debug] QUERY OK source="media_items" db=0.4ms idle=343.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["420a194b-ebda-4872-b017-e29f57e5e177"] 05:54:19.397 [debug] Invalid range request for media item: 420a194b-ebda-4872-b017-e29f57e5e177 - serving full file 05:54:19.397 [info] Sent 200 in 799µs 05:54:19.617 [info] GET /media/801d2bf4-e5ee-4698-9666-a1a7db930631/stream 05:54:19.617 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "801d2bf4-e5ee-4698-9666-a1a7db930631"} Pipelines: [:maybe_basic_auth] 05:54:19.618 [info] GET /media/2a330752-e06e-4b41-a95d-6e4d2fe17634/stream 05:54:19.618 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "2a330752-e06e-4b41-a95d-6e4d2fe17634"} Pipelines: [:maybe_basic_auth] 05:54:19.618 [debug] QUERY OK source="media_items" db=0.4ms idle=235.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["801d2bf4-e5ee-4698-9666-a1a7db930631"] 05:54:19.618 [debug] QUERY OK source="media_items" db=0.3ms idle=235.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["2a330752-e06e-4b41-a95d-6e4d2fe17634"] 05:54:19.618 [debug] Invalid range request for media item: 801d2bf4-e5ee-4698-9666-a1a7db930631 - serving full file 05:54:19.618 [info] Sent 200 in 913µs 05:54:19.618 [debug] Invalid range request for media item: 2a330752-e06e-4b41-a95d-6e4d2fe17634 - serving full file 05:54:19.618 [info] Sent 200 in 712µs 05:54:20.027 [info] GET /media/088f59bd-7df1-47db-9da3-e28a21e006e2/stream 05:54:20.027 [info] GET /sources/30/media/2976621/force_download 05:54:20.027 [info] GET /sources/57/media/2405721/force_download 05:54:20.027 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "088f59bd-7df1-47db-9da3-e28a21e006e2"} Pipelines: [:maybe_basic_auth] 05:54:20.028 [debug] QUERY OK source="settings" db=0.5ms idle=630.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.028 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=644.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.029 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=410.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.029 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:54:20.029 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:20.029 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:54:20.029 [error] #PID<0.1177465.0> running PinchflatWeb.Endpoint (connection #PID<0.1177463.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/2976621/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/2976621/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/2976621/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39566}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177465.0>, params: %{}, path_info: ["sources", "30", "media", "2976621", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/2976621/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H6Hg2xssI8lICQYmB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/2976621/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39566}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/30/media/2976621/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/2976621/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39566}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177465.0>, params: %{}, path_info: ["sources", "30", "media", "2976621", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:54:20.029 [error] #PID<0.1177468.0> running PinchflatWeb.Endpoint (connection #PID<0.1177464.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/2405721/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/2405721/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177464.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2405721/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39574}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177468.0>, params: %{}, path_info: ["sources", "57", "media", "2405721", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/2405721/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H6Hg4NUoh_-4CQYnB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177464.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2405721/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39574}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/media/2405721/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177464.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2405721/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39574}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177468.0>, params: %{}, path_info: ["sources", "57", "media", "2405721", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:54:20.031 [debug] QUERY OK source="media_items" db=3.2ms idle=409.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["088f59bd-7df1-47db-9da3-e28a21e006e2"] 05:54:20.031 [debug] Invalid range request for media item: 088f59bd-7df1-47db-9da3-e28a21e006e2 - serving full file 05:54:20.031 [info] Sent 200 in 4ms 05:54:20.133 [info] GET /sources/43/media/3075521/force_download 05:54:20.133 [debug] QUERY OK source="settings" db=0.1ms idle=104.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.133 [debug] QUERY OK source="settings" db=0.0ms idle=104.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.133 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:54:20.134 [error] #PID<0.1177469.0> running PinchflatWeb.Endpoint (connection #PID<0.1177463.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3075521/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3075521/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3075521/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39566}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177469.0>, params: %{}, path_info: ["sources", "43", "media", "3075521", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3075521/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H6H6AzsMpJgUAbnwE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3075521/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39566}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/43/media/3075521/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3075521/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39566}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177469.0>, params: %{}, path_info: ["sources", "43", "media", "3075521", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:54:20.196 [info] GET /sources/43/media/3310881 05:54:20.196 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3310881", "source_id" => "43"} Pipelines: [:browser] 05:54:20.196 [debug] QUERY OK source="media_items" db=0.1ms idle=166.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" = ?) [3310881] 05:54:20.196 [debug] QUERY OK source="tasks" db=0.1ms idle=167.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3310881] 05:54:20.196 [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" = ?) [43] 05:54:20.197 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=63.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" = ?) [419499] 05:54:20.197 [debug] QUERY OK source="settings" db=0.0ms idle=63.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.197 [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:54:20.198 [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 [] 05:54:20.198 [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] 05:54:20.199 [info] Sent 200 in 3ms 05:54:20.425 [info] GET /sources/43/media/3310881/edit 05:54:20.425 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3310881", "source_id" => "43"} Pipelines: [:browser] 05:54:20.425 [debug] QUERY OK source="media_items" db=0.1ms idle=228.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" = ?) [3310881] 05:54:20.426 [debug] QUERY OK source="settings" db=0.1ms idle=228.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.426 [debug] QUERY OK source="settings" db=0.0ms idle=228.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.426 [debug] QUERY OK source="settings" db=0.0ms idle=228.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.427 [info] Sent 200 in 1ms 05:54:20.588 [info] GET /sources/9/media/2969136 05:54:20.588 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2969136", "source_id" => "9"} Pipelines: [:browser] 05:54:20.589 [debug] QUERY OK source="media_items" db=0.2ms idle=390.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" = ?) [2969136] 05:54:20.589 [debug] QUERY OK source="tasks" db=0.1ms idle=163.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2969136] 05:54:20.589 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [9] 05:54:20.589 [debug] QUERY OK source="settings" db=0.0ms idle=163.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.590 [debug] QUERY OK source="settings" db=0.0ms idle=163.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.590 [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:54:20.590 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:54:20.591 [info] Sent 200 in 3ms 05:54:20.693 [info] GET /sources/9/media/2969136/edit 05:54:20.693 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2969136", "source_id" => "9"} Pipelines: [:browser] 05:54:20.693 [debug] QUERY OK source="media_items" db=0.2ms idle=103.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" = ?) [2969136] 05:54:20.693 [debug] QUERY OK source="settings" db=0.0ms idle=103.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:20.693 [debug] QUERY OK source="settings" db=0.0ms idle=103.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:20.694 [debug] QUERY OK source="settings" db=0.0ms idle=103.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.694 [info] Sent 200 in 1ms 05:54:20.898 [info] GET /sources/57/media/2390121/force_download 05:54:20.898 [debug] QUERY OK source="settings" db=0.1ms idle=307.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.898 [debug] QUERY OK source="settings" db=0.0ms idle=205.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:20.899 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:54:20.899 [error] #PID<0.1177477.0> running PinchflatWeb.Endpoint (connection #PID<0.1177463.0>, stream id 7) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/2390121/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/2390121/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2390121/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39566}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTl9KejZSOThwYnBsWXNmcGx6bXJDc0NL.7x5jH3Mt-o780LF1jdY7HtzQphB-ESueuelVXs5ESCM", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTl9KejZSOThwYnBsWXNmcGx6bXJDc0NL.7x5jH3Mt-o780LF1jdY7HtzQphB-ESueuelVXs5ESCM" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177477.0>, params: %{}, path_info: ["sources", "57", "media", "2390121", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTl9KejZSOThwYnBsWXNmcGx6bXJDc0NL.7x5jH3Mt-o780LF1jdY7HtzQphB-ESueuelVXs5ESCM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTl9KejZSOThwYnBsWXNmcGx6bXJDc0NL.7x5jH3Mt-o780LF1jdY7HtzQphB-ESueuelVXs5ESCM"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/2390121/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H6KwcWyOpWsAAbn2E"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2390121/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39566}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTl9KejZSOThwYnBsWXNmcGx6bXJDc0NL.7x5jH3Mt-o780LF1jdY7HtzQphB-ESueuelVXs5ESCM", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/2390121/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2390121/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39566}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTl9KejZSOThwYnBsWXNmcGx6bXJDc0NL.7x5jH3Mt-o780LF1jdY7HtzQphB-ESueuelVXs5ESCM", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTl9KejZSOThwYnBsWXNmcGx6bXJDc0NL.7x5jH3Mt-o780LF1jdY7HtzQphB-ESueuelVXs5ESCM" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177477.0>, params: %{}, path_info: ["sources", "57", "media", "2390121", "force_download"], (truncated) 05:54:21.010 [info] GET /sources/55/media/3181376/edit 05:54:21.011 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3181376", "source_id" => "55"} Pipelines: [:browser] 05:54:21.011 [info] GET /sources/55/media/3292181/edit 05:54:21.011 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3292181", "source_id" => "55"} Pipelines: [:browser] 05:54:21.011 [debug] QUERY OK source="media_items" db=0.2ms idle=317.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" = ?) [3181376] 05:54:21.011 [debug] QUERY OK source="media_items" db=0.2ms idle=317.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" = ?) [3292181] 05:54:21.012 [debug] QUERY OK source="settings" db=0.1ms idle=113.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:21.012 [debug] QUERY OK source="settings" db=0.3ms idle=317.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:21.012 [debug] QUERY OK source="settings" db=0.1ms idle=113.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:21.012 [debug] QUERY OK source="settings" db=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:21.012 [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:54:21.012 [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:54:21.013 [info] Sent 200 in 2ms 05:54:21.013 [info] Sent 200 in 2ms 05:54:21.344 [info] GET /sources/55/media/3009468/edit 05:54:21.344 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3009468", "source_id" => "55"} Pipelines: [:browser] 05:54:21.345 [debug] QUERY OK source="media_items" db=0.1ms idle=332.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3009468] 05:54:21.345 [debug] QUERY OK source="settings" db=0.1ms idle=333.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:21.345 [debug] QUERY OK source="settings" db=0.0ms idle=332.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:21.346 [debug] QUERY OK source="settings" db=0.1ms idle=333.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:21.347 [info] Sent 200 in 2ms 05:54:21.495 [info] {"source":"oban","duration":8644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:21.704 [info] GET /sources/55/media/3181376 05:54:21.705 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3181376", "source_id" => "55"} Pipelines: [:browser] 05:54:21.705 [debug] QUERY OK source="media_items" db=0.1ms idle=359.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" = ?) [3181376] 05:54:21.705 [debug] QUERY OK source="tasks" db=0.1ms idle=360.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3181376] 05:54:21.705 [debug] QUERY OK source="sources" db=0.1ms idle=359.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:54:21.706 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=359.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [384424, 387000] 05:54:21.706 [debug] QUERY OK source="settings" db=0.0ms idle=210.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:21.706 [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:54:21.706 [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 [] 05:54:21.707 [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] 05:54:21.708 [info] Sent 200 in 3ms 05:54:22.045 [info] GET /sources/55/media/3009468 05:54:22.045 [info] GET /sources/9/media/3258887/edit 05:54:22.045 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3258887", "source_id" => "9"} Pipelines: [:browser] 05:54:22.045 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3009468", "source_id" => "55"} Pipelines: [:browser] 05:54:22.046 [debug] QUERY OK source="media_items" db=0.5ms idle=339.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3258887] 05:54:22.046 [debug] QUERY OK source="media_items" db=0.6ms idle=339.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" = ?) [3009468] 05:54:22.046 [debug] QUERY OK source="settings" db=0.1ms idle=340.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:22.047 [debug] QUERY OK source="tasks" db=0.2ms idle=339.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3009468] 05:54:22.047 [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 [] 05:54:22.047 [debug] QUERY OK source="sources" db=0.4ms idle=339.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:54:22.047 [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:54:22.047 [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:54:22.047 [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:54:22.048 [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:54:22.048 [info] Sent 200 in 2ms 05:54:22.048 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:54:22.049 [info] Sent 200 in 3ms 05:54:22.321 [info] GET /sources/9/media/3038996/edit 05:54:22.321 [info] GET /sources/9/media/3258887 05:54:22.322 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3038996", "source_id" => "9"} Pipelines: [:browser] 05:54:22.322 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3258887", "source_id" => "9"} Pipelines: [:browser] 05:54:22.322 [debug] QUERY OK source="media_items" db=0.4ms idle=274.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" = ?) [3038996] 05:54:22.322 [debug] QUERY OK source="media_items" db=0.4ms idle=274.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" = ?) [3258887] 05:54:22.323 [debug] QUERY OK source="settings" db=0.1ms idle=274.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:22.323 [debug] QUERY OK source="tasks" db=0.3ms idle=274.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3258887] 05:54:22.323 [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 [] 05:54:22.323 [debug] QUERY OK source="sources" db=0.6ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 05:54:22.323 [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 [] 05:54:22.324 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=0.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [405681, 408227] 05:54:22.324 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:22.324 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:22.324 [info] Sent 200 in 2ms 05:54:22.324 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:22.325 [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] 05:54:22.326 [info] Sent 200 in 4ms 05:54:22.659 [info] GET /sources/9/media/3038996 05:54:22.659 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3038996", "source_id" => "9"} Pipelines: [:browser] 05:54:22.660 [debug] QUERY OK source="media_items" db=0.2ms idle=335.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3038996] 05:54:22.660 [debug] QUERY OK source="tasks" db=0.1ms idle=336.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3038996] 05:54:22.660 [debug] QUERY OK source="sources" db=0.2ms idle=335.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:54:22.660 [debug] QUERY OK source="settings" db=0.0ms idle=336.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:22.661 [debug] QUERY OK source="settings" db=0.0ms idle=335.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:22.661 [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:54:22.661 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:54:22.662 [info] Sent 200 in 3ms 05:54:36.752 [info] GET /sources/43/media/2859600/force_download 05:54:36.752 [info] GET /sources/43/media/2952286/force_download 05:54:36.752 [info] GET /sources/52/media/3273738/force_download 05:54:36.752 [info] GET /sources/57/media/3276328/force_download 05:54:36.752 [debug] QUERY OK source="settings" db=0.2ms idle=1026.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:36.752 [debug] QUERY OK source="settings" db=0.1ms idle=1026.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:36.752 [debug] QUERY OK source="settings" db=0.1ms idle=1026.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:36.752 [debug] QUERY OK source="settings" db=0.1ms idle=1026.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:36.753 [debug] QUERY OK source="settings" db=0.3ms idle=613.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:36.753 [debug] QUERY OK source="settings" db=0.3ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:36.753 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:54:36.753 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:54:36.753 [debug] QUERY OK source="settings" db=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:36.753 [debug] QUERY OK source="settings" db=0.3ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:36.753 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:54:36.753 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:54:36.753 [error] #PID<0.1177509.0> running PinchflatWeb.Endpoint (connection #PID<0.1177504.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/2952286/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/2952286/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177504.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2952286/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53744}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177509.0>, params: %{}, path_info: ["sources", "43", "media", "2952286", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/2952286/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H7F0Yj5mj9_IBc-yC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177504.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2952286/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53744}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/43/media/2952286/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177504.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2952286/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53744}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177509.0>, params: %{}, path_info: ["sources", "43", "media", "2952286", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:54:36.753 [error] #PID<0.1177508.0> running PinchflatWeb.Endpoint (connection #PID<0.1177505.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/3273738/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/3273738/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3273738/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177508.0>, params: %{}, path_info: ["sources", "52", "media", "3273738", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/3273738/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H7F0ZY7sYDPEAB_HF"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3273738/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/52/media/3273738/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3273738/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177508.0>, params: %{}, path_info: ["sources", "52", "media", "3273738", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:54:36.753 [error] #PID<0.1177506.0> running PinchflatWeb.Endpoint (connection #PID<0.1177502.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/2859600/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/2859600/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177502.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2859600/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53760}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177506.0>, params: %{}, path_info: ["sources", "43", "media", "2859600", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/2859600/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H7F0VDc0UK3sCQYuB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177502.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2859600/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53760}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/43/media/2859600/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177502.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2859600/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53760}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177506.0>, params: %{}, path_info: ["sources", "43", "media", "2859600", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:54:36.753 [error] #PID<0.1177510.0> running PinchflatWeb.Endpoint (connection #PID<0.1177507.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/3276328/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/3276328/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177507.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3276328/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53732}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177510.0>, params: %{}, path_info: ["sources", "57", "media", "3276328", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/3276328/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H7F0ZWNqWVbECQYvB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177507.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3276328/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53732}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/media/3276328/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177507.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3276328/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53732}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177510.0>, params: %{}, path_info: ["sources", "57", "media", "3276328", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:54:37.089 [info] GET /sources/30/media/3250444/force_download 05:54:37.089 [info] GET /sources/30/media/3218823/force_download 05:54:37.089 [debug] QUERY OK source="settings" db=0.3ms idle=336.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:37.089 [debug] QUERY OK source="settings" db=0.3ms idle=336.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:37.090 [debug] QUERY OK source="settings" db=0.2ms idle=336.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:37.090 [debug] QUERY OK source="settings" db=0.2ms idle=336.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:37.090 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:54:37.090 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:54:37.090 [error] #PID<0.1177512.0> running PinchflatWeb.Endpoint (connection #PID<0.1177505.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3250444/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3250444/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3250444/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177512.0>, params: %{}, path_info: ["sources", "30", "media", "3250444", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3250444/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H7HEqBpd0HacBc-zC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3250444/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/30/media/3250444/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3250444/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177512.0>, params: %{}, path_info: ["sources", "30", "media", "3250444", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:54:37.090 [error] #PID<0.1177511.0> running PinchflatWeb.Endpoint (connection #PID<0.1177507.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3218823/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3218823/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177507.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3218823/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53732}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177511.0>, params: %{}, path_info: ["sources", "30", "media", "3218823", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3218823/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H7HEqBoPxN_UCQYwB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177507.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3218823/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53732}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/30/media/3218823/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177507.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3218823/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53732}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177511.0>, params: %{}, path_info: ["sources", "30", "media", "3218823", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:54:37.163 [info] GET /sources/43/media/3020702/force_download 05:54:37.163 [debug] QUERY OK source="settings" db=0.1ms idle=73.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:37.163 [debug] QUERY OK source="settings" db=0.0ms idle=73.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:54:37.163 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:54:37.164 [error] #PID<0.1177515.0> running PinchflatWeb.Endpoint (connection #PID<0.1177505.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3020702/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3020702/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3020702/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177515.0>, params: %{}, path_info: ["sources", "43", "media", "3020702", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3020702/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H7HWPryZtbGIBc-0C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3020702/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/43/media/3020702/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3020702/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177515.0>, params: %{}, path_info: ["sources", "43", "media", "3020702", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:54:37.537 [info] GET /media/d359d759-d88e-4bfa-a32d-76204d4f3899/stream 05:54:37.537 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "d359d759-d88e-4bfa-a32d-76204d4f3899"} Pipelines: [:maybe_basic_auth] 05:54:37.539 [debug] QUERY OK source="media_items" db=0.9ms idle=447.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["d359d759-d88e-4bfa-a32d-76204d4f3899"] 05:54:37.539 [debug] Invalid range request for media item: d359d759-d88e-4bfa-a32d-76204d4f3899 - serving full file 05:54:37.539 [info] Sent 200 in 1ms 05:54:51.503 [info] {"source":"oban","duration":7746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.952 [info] {"source":"oban","duration":305,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:55:13.194 [info] {"args":{"id":52},"id":419683,"meta":{},"system_time":1782730513194432812,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:55:13.195 [debug] QUERY OK source="sources" db=0.6ms idle=257.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:55:13.196 [debug] QUERY OK source="settings" db=0.5ms idle=258.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:13.196 [debug] QUERY OK source="media_profiles" db=0.5ms idle=259.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:55:13.196 [debug] QUERY OK source="settings" db=0.1ms idle=7.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:13.197 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 05:55:13.464 [debug] Media ids fetched from RSS: ["HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 05:55:13.464 [debug] QUERY OK source="media_items" db=0.5ms idle=269.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 05:55:13.465 [debug] QUERY OK source="media_items" db=0.6ms idle=269.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")))) [52] 05:55:13.468 [debug] QUERY OK source="tasks" db=0.1ms idle=271.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419690, 1301334, ~U[2026-06-29 10:55:13Z], ~U[2026-06-29 10:55:13Z]] 05:55:13.470 [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" [419691, 1301335, ~U[2026-06-29 10:55:13Z], ~U[2026-06-29 10:55:13Z]] 05:55:13.473 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419692, 1301347, ~U[2026-06-29 10:55:13Z], ~U[2026-06-29 10:55:13Z]] 05:55:13.475 [info] {"args":{"id":1301334},"id":419690,"meta":{},"system_time":1782730513475212346,"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"]} 05:55:13.475 [info] {"args":{"id":1301335},"id":419691,"meta":{},"system_time":1782730513475268094,"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"]} 05:55:13.476 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 05:55:13.476 [debug] QUERY OK source="media_items" db=0.7ms 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 WHERE (m0."id" = ?) [1301334] 05:55:13.476 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:55:13.476 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:55:13.476 [debug] QUERY OK source="sources" db=0.4ms idle=0.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:55:13.477 [debug] QUERY OK source="tasks" db=0.2ms idle=0.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419693, 1301392, ~U[2026-06-29 10:55:13Z], ~U[2026-06-29 10:55:13Z]] 05:55:13.477 [debug] QUERY OK source="sources" db=0.6ms idle=1.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:55:13.477 [debug] QUERY OK source="media_profiles" db=0.5ms queue=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] 05:55:13.477 [debug] QUERY OK source="media_profiles" db=0.5ms idle=0.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:55:13.478 [debug] QUERY OK source="media_items" db=0.5ms idle=0.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 [1301335] 05:55:13.478 [debug] QUERY OK source="media_items" db=0.6ms idle=0.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 [1301334] 05:55:13.480 [debug] QUERY OK source="tasks" db=0.1ms idle=2.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419694, 1301393, ~U[2026-06-29 10:55:13Z], ~U[2026-06-29 10:55:13Z]] 05:55:13.480 [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" = ?) [1301335] 05:55:13.482 [debug] QUERY OK source="media_profiles" db=1.8ms 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] 05:55:13.482 [debug] QUERY OK source="media_metadata" db=0.2ms queue=1.5ms idle=1.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [1301334] 05:55:13.482 [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 [] 05:55:13.483 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:55:13.483 [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 [] 05:55:13.483 [debug] Running yt-dlp command for action: get_downloadable_status 05:55:13.483 [debug] QUERY OK source="tasks" db=0.4ms idle=0.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419695, 1301394, ~U[2026-06-29 10:55:13Z], ~U[2026-06-29 10:55:13Z]] 05:55:13.483 [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 [] 05:55:13.483 [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:55:13.484 [debug] Running yt-dlp command for action: get_downloadable_status 05:55:13.484 [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 [] 05:55:13.484 [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 [] 05:55:13.484 [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:55:13.484 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ef/a0/efa066dae70fdafddf9c44eb3a8b757b3740a69a71ca4ca6556f38fc2d41de71.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:55:13.485 [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 [] 05:55:13.485 [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 [] 05:55:13.485 [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 [] 05:55:13.485 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5b/01/5b018096c180d4a8aeedfe26567e14f09d42256e4f60176e5e2cecd1b67381f0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:55:13.486 [debug] QUERY OK source="tasks" db=0.1ms idle=1.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419696, 1301395, ~U[2026-06-29 10:55:13Z], ~U[2026-06-29 10:55:13Z]] 05:55:13.489 [debug] QUERY OK source="tasks" db=0.1ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419697, 1301397, ~U[2026-06-29 10:55:13Z], ~U[2026-06-29 10:55:13Z]] 05:55:13.491 [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" [419698, 1301398, ~U[2026-06-29 10:55:13Z], ~U[2026-06-29 10:55:13Z]] 05:55:13.493 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419699, 1301399, ~U[2026-06-29 10:55:13Z], ~U[2026-06-29 10:55:13Z]] 05:55:13.496 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419700, 1301400, ~U[2026-06-29 10:55:13Z], ~U[2026-06-29 10:55:13Z]] 05:55:13.498 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419701, 2720968, ~U[2026-06-29 10:55:13Z], ~U[2026-06-29 10:55:13Z]] 05:55:13.499 [debug] QUERY OK source="tasks" db=0.1ms idle=1.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419702, 52, ~U[2026-06-29 10:55:13Z], ~U[2026-06-29 10:55:13Z]] 05:55:13.499 [info] {"args":{"id":52},"id":419683,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":304792,"event":"job:stop","queue_time":202756,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 05:55:15.616 [info] GET /sources/30/media/2999738/force_download 05:55:15.617 [debug] QUERY OK source="settings" db=0.2ms idle=679.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:15.617 [debug] QUERY OK source="settings" db=0.1ms idle=680.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:15.617 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:55:15.618 [error] #PID<0.1177525.0> running PinchflatWeb.Endpoint (connection #PID<0.1177505.0>, stream id 5) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/2999738/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/2999738/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/2999738/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177525.0>, params: %{}, path_info: ["sources", "30", "media", "2999738", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/2999738/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H9WmYbWsG5EEBc-4C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/2999738/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/2999738/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/2999738/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177525.0>, params: %{}, path_info: ["sources", "30", "media", "2999738", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:55:15.632 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ef/a0/efa066dae70fdafddf9c44eb3a8b757b3740a69a71ca4ca6556f38fc2d41de71.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 05:55:15.632 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:15.632 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:15.633 [info] {"args":{"id":1301335},"id":419691,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2157606,"event":"job:stop","queue_time":473937,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:55:15.639 [info] {"args":{"id":1301347},"id":419692,"meta":{},"system_time":1782730515639736928,"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"]} 05:55:15.640 [debug] QUERY OK source="media_items" db=0.1ms idle=448.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" = ?) [1301347] 05:55:15.640 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:55:15.640 [debug] QUERY OK source="sources" db=0.1ms idle=22.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:55:15.640 [debug] QUERY OK source="media_profiles" db=0.1ms idle=22.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:55:15.641 [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 [1301347] 05:55:15.642 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301347] 05:55:15.642 [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] 05:55:15.643 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:15.643 [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 [] 05:55:15.643 [debug] Running yt-dlp command for action: get_downloadable_status 05:55:15.644 [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 [] 05:55:15.644 [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 [] 05:55:15.644 [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 [] 05:55:15.644 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/f5/45f5f9fae648d06e2512aa5e4bd19a59ad75a4e916262fcb6f1733c2130bc672.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:55:15.752 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5b/01/5b018096c180d4a8aeedfe26567e14f09d42256e4f60176e5e2cecd1b67381f0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 05:55:15.752 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:15.752 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:15.753 [info] {"args":{"id":1301334},"id":419690,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2277501,"event":"job:stop","queue_time":473937,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:55:15.759 [info] {"args":{"id":1301392},"id":419693,"meta":{},"system_time":1782730515759431372,"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"]} 05:55:15.759 [debug] QUERY OK source="media_items" db=0.1ms idle=115.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" = ?) [1301392] 05:55:15.759 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:55:15.760 [debug] QUERY OK source="sources" db=0.2ms idle=115.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:55:15.760 [debug] QUERY OK source="media_profiles" db=0.1ms idle=115.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:55:15.760 [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 [1301392] 05:55:15.761 [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" = ?) [1301392] 05:55:15.761 [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] 05:55:15.762 [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 [] 05:55:15.762 [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 [] 05:55:15.762 [debug] Running yt-dlp command for action: get_downloadable_status 05:55:15.763 [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 [] 05:55:15.763 [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 [] 05:55:15.763 [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 [] 05:55:15.763 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6d/bb/6dbb7786e8469035fc4f47e2951e51b3ba51346972d723c4e83f322f796a2293.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:55:17.493 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6d/bb/6dbb7786e8469035fc4f47e2951e51b3ba51346972d723c4e83f322f796a2293.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 05:55:17.493 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:17.493 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:17.494 [info] {"args":{"id":1301392},"id":419693,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1734537,"event":"job:stop","queue_time":2758892,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:55:17.500 [info] {"args":{"id":1301393},"id":419694,"meta":{},"system_time":1782730517500686554,"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"]} 05:55:17.501 [debug] QUERY OK source="media_items" db=0.1ms idle=563.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" = ?) [1301393] 05:55:17.501 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:55:17.501 [debug] QUERY OK source="sources" db=0.1ms idle=563.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:55:17.501 [debug] QUERY OK source="media_profiles" db=0.1ms idle=307.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:55:17.502 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301393] 05:55:17.503 [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" = ?) [1301393] 05:55:17.503 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:55:17.504 [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 [] 05:55:17.504 [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:55:17.504 [debug] Running yt-dlp command for action: get_downloadable_status 05:55:17.505 [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 [] 05:55:17.505 [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 [] 05:55:17.505 [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 [] 05:55:17.505 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/80/9a/809a7b1890f98e7c5446af678a847b1f43cd874efb3df4570d6cf0118f0c67fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:55:17.578 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/45/f5/45f5f9fae648d06e2512aa5e4bd19a59ad75a4e916262fcb6f1733c2130bc672.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 05:55:17.578 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:17.578 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:17.578 [info] {"args":{"id":1301347},"id":419692,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1938741,"event":"job:stop","queue_time":2638971,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:55:17.585 [info] {"args":{"id":1301394},"id":419695,"meta":{},"system_time":1782730517585404347,"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"]} 05:55:17.585 [debug] QUERY OK source="media_items" db=0.1ms idle=80.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" = ?) [1301394] 05:55:17.585 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:55:17.586 [debug] QUERY OK source="sources" db=0.1ms idle=80.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:55:17.586 [debug] QUERY OK source="media_profiles" db=0.1ms idle=80.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:55:17.586 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301394] 05:55:17.587 [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" = ?) [1301394] 05:55:17.587 [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] 05:55:17.588 [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:55:17.588 [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 [] 05:55:17.588 [debug] Running yt-dlp command for action: get_downloadable_status 05:55:17.588 [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:55:17.589 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:17.589 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:17.589 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/d1/2fd1aac9885c5902e12229d88f385ecee356781199d6c2e6053a14748808c6ab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:55:19.162 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/80/9a/809a7b1890f98e7c5446af678a847b1f43cd874efb3df4570d6cf0118f0c67fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 05:55:19.162 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:19.162 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:19.163 [info] {"args":{"id":1301393},"id":419694,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1662190,"event":"job:stop","queue_time":4499953,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:55:19.170 [info] {"args":{"id":1301395},"id":419696,"meta":{},"system_time":1782730519169956545,"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"]} 05:55:19.170 [debug] QUERY OK source="media_items" db=0.2ms idle=233.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" = ?) [1301395] 05:55:19.170 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:55:19.170 [debug] QUERY OK source="sources" db=0.2ms idle=233.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:55:19.171 [debug] QUERY OK source="media_profiles" db=0.1ms idle=233.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:55:19.171 [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 [1301395] 05:55:19.172 [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" = ?) [1301395] 05:55:19.173 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 05:55:19.173 [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 [] 05:55:19.173 [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 [] 05:55:19.173 [debug] Running yt-dlp command for action: get_downloadable_status 05:55:19.174 [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 [] 05:55:19.174 [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 [] 05:55:19.174 [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 [] 05:55:19.174 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/36/52/36528e58380dd0de71190ce3340378fc0a928ed11c37f674e296c542741432d6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:55:19.299 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/d1/2fd1aac9885c5902e12229d88f385ecee356781199d6c2e6053a14748808c6ab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 05:55:19.299 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:19.300 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:19.300 [info] {"args":{"id":1301394},"id":419695,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1714688,"event":"job:stop","queue_time":4584894,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:55:19.306 [info] {"args":{"id":1301397},"id":419697,"meta":{},"system_time":1782730519306597849,"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"]} 05:55:19.306 [debug] QUERY OK source="media_items" db=0.1ms idle=132.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" = ?) [1301397] 05:55:19.307 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:55:19.307 [debug] QUERY OK source="sources" db=0.1ms idle=132.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:55:19.307 [debug] QUERY OK source="media_profiles" db=0.1ms idle=109.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:55:19.308 [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 [1301397] 05:55:19.308 [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" = ?) [1301397] 05:55:19.309 [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] 05:55:19.309 [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 [] 05:55:19.309 [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 [] 05:55:19.309 [debug] Running yt-dlp command for action: get_downloadable_status 05:55:19.310 [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:55:19.310 [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 [] 05:55:19.310 [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 [] 05:55:19.310 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/15/95/159550275365c0a149991bf21fe38c8026e058ab91201af1f7c7583c97735d3b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:55:20.458 [info] GET /sources/32/media/2939781/force_download 05:55:20.458 [debug] QUERY OK source="settings" db=0.1ms idle=1149.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:20.459 [debug] QUERY OK source="settings" db=0.0ms idle=1148.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:20.459 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:55:20.459 [error] #PID<0.1177551.0> running PinchflatWeb.Endpoint (connection #PID<0.1177505.0>, stream id 6) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/2939781/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/32/media/2939781/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2939781/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177551.0>, params: %{}, path_info: ["sources", "32", "media", "2939781", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/2939781/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H9ootbp9FFSoBc-5C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2939781/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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 /sources/32/media/2939781/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177505.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2939781/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53758}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177551.0>, params: %{}, path_info: ["sources", "32", "media", "2939781", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:55:20.830 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/36/52/36528e58380dd0de71190ce3340378fc0a928ed11c37f674e296c542741432d6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 05:55:20.830 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:20.830 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:20.830 [info] {"args":{"id":1301395},"id":419696,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1660534,"event":"job:stop","queue_time":6168991,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:55:20.837 [info] {"args":{"id":1301398},"id":419698,"meta":{},"system_time":1782730520837796358,"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"]} 05:55:20.838 [debug] QUERY OK source="media_items" db=0.2ms idle=638.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301398] 05:55:20.838 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:55:20.838 [debug] QUERY OK source="sources" db=0.1ms idle=379.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:55:20.838 [debug] QUERY OK source="media_profiles" db=0.1ms idle=379.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:55:20.839 [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 [1301398] 05:55:20.841 [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" = ?) [1301398] 05:55:20.841 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:55:20.841 [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 [] 05:55:20.841 [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 [] 05:55:20.841 [debug] Running yt-dlp command for action: get_downloadable_status 05:55:20.842 [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 [] 05:55:20.842 [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 [] 05:55:20.842 [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 [] 05:55:20.842 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c1/e9/c1e9d311fd976064820dc9a68954b8c8827e91f4a5902c54792a50d79374fac7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:55:21.102 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/15/95/159550275365c0a149991bf21fe38c8026e058ab91201af1f7c7583c97735d3b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 05:55:21.102 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:21.103 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:21.103 [info] {"args":{"id":1301397},"id":419697,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1796497,"event":"job:stop","queue_time":6305957,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:55:21.109 [info] {"args":{"id":1301399},"id":419699,"meta":{},"system_time":1782730521109677783,"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"]} 05:55:21.110 [debug] QUERY OK source="media_items" db=0.1ms idle=267.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" = ?) [1301399] 05:55:21.110 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:55:21.110 [debug] QUERY OK source="sources" db=0.1ms idle=267.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:55:21.110 [debug] QUERY OK source="media_profiles" db=0.1ms idle=267.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:55:21.111 [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 [1301399] 05:55:21.112 [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" = ?) [1301399] 05:55:21.112 [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] 05:55:21.112 [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 [] 05:55:21.112 [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 [] 05:55:21.112 [debug] Running yt-dlp command for action: get_downloadable_status 05:55:21.113 [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 [] 05:55:21.114 [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:55:21.114 [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:55:21.114 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/85/24/85241182359d52f330c2ae050adb649149dbc0d6015d4bdc213f03bc82fe850d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:55:21.511 [info] {"source":"oban","duration":7939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:22.548 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c1/e9/c1e9d311fd976064820dc9a68954b8c8827e91f4a5902c54792a50d79374fac7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 05:55:22.548 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:22.548 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:22.549 [info] {"args":{"id":1301398},"id":419698,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1711116,"event":"job:stop","queue_time":7836948,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:55:22.555 [info] {"args":{"id":1301400},"id":419700,"meta":{},"system_time":1782730522555661515,"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"]} 05:55:22.556 [debug] QUERY OK source="media_items" db=0.1ms idle=1355.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" = ?) [1301400] 05:55:22.556 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:55:22.556 [debug] QUERY OK source="sources" db=0.5ms idle=1044.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:55:22.557 [debug] QUERY OK source="media_profiles" db=0.1ms idle=355.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:55:22.557 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301400] 05:55:22.559 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301400] 05:55:22.559 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 05:55:22.559 [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 [] 05:55:22.559 [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 [] 05:55:22.560 [debug] Running yt-dlp command for action: get_downloadable_status 05:55:22.560 [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 [] 05:55:22.561 [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 [] 05:55:22.561 [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 [] 05:55:22.561 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ac/06/ac06aad399b0fd0ab370b9e896c68d525aa631f584d1aaf5877258c7dcef838a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:55:22.808 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/85/24/85241182359d52f330c2ae050adb649149dbc0d6015d4bdc213f03bc82fe850d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 05:55:22.808 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:22.808 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:22.809 [info] {"args":{"id":1301399},"id":419699,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1699266,"event":"job:stop","queue_time":8109010,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:55:22.815 [info] {"args":{"id":2720968},"id":419701,"meta":{},"system_time":1782730522815551130,"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"]} 05:55:22.815 [debug] QUERY OK source="media_items" db=0.1ms idle=254.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" = ?) [2720968] 05:55:22.816 [info] User scripts lifecyle file either not present or is empty. Skipping. 05:55:22.816 [debug] QUERY OK source="sources" db=0.1ms idle=255.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:55:22.816 [debug] QUERY OK source="media_profiles" db=0.1ms idle=255.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:55:22.817 [debug] QUERY OK source="media_items" db=0.1ms 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 [2720968] 05:55:22.818 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [2720968] 05:55:22.818 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 05:55:22.818 [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 [] 05:55:22.818 [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:55:22.819 [debug] Running yt-dlp command for action: get_downloadable_status 05:55:22.819 [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 [] 05:55:22.819 [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 [] 05:55:22.819 [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 [] 05:55:22.820 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/68/9e68c33a41eb5a47a73210f7762333953a75a31d175af6ec446c565e499ac4a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 05:55:24.507 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/68/9e68c33a41eb5a47a73210f7762333953a75a31d175af6ec446c565e499ac4a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 05:55:24.507 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:24.508 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:24.508 [info] {"args":{"id":2720968},"id":419701,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1692582,"event":"job:stop","queue_time":9814946,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:55:24.524 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ac/06/ac06aad399b0fd0ab370b9e896c68d525aa631f584d1aaf5877258c7dcef838a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 05:55:24.524 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:24.524 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 05:55:24.525 [info] {"args":{"id":1301400},"id":419700,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1969252,"event":"job:stop","queue_time":9554973,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 05:55:25.467 [info] GET /media/decd87b4-07d6-4b7e-91a7-016ff1f3236f/stream 05:55:25.467 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "decd87b4-07d6-4b7e-91a7-016ff1f3236f"} Pipelines: [:maybe_basic_auth] 05:55:25.468 [debug] QUERY OK source="media_items" db=1.0ms idle=959.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["decd87b4-07d6-4b7e-91a7-016ff1f3236f"] 05:55:25.469 [debug] Invalid range request for media item: decd87b4-07d6-4b7e-91a7-016ff1f3236f - serving full file 05:55:25.469 [info] Sent 200 in 1ms 05:55:45.608 [info] GET /sources/43/media/3060780/force_download 05:55:45.609 [debug] QUERY OK source="settings" db=0.1ms idle=1668.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:45.609 [debug] QUERY OK source="settings" db=0.1ms idle=1668.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:45.609 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:55:45.609 [error] #PID<0.1177514.0> running PinchflatWeb.Endpoint (connection #PID<0.1177518.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3060780/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3060780/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177518.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3060780/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56594}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177514.0>, params: %{}, path_info: ["sources", "43", "media", "3060780", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3060780/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H_GU8rneli0gBc-6C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177518.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3060780/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56594}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/43/media/3060780/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177518.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3060780/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56594}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177514.0>, params: %{}, path_info: ["sources", "43", "media", "3060780", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:55:50.479 [info] GET /sources/30/media/3266154/force_download 05:55:50.480 [debug] QUERY OK source="settings" db=0.1ms idle=1539.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:50.480 [debug] QUERY OK source="settings" db=0.0ms idle=1540.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:50.480 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:55:50.480 [error] #PID<0.1177517.0> running PinchflatWeb.Endpoint (connection #PID<0.1177518.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3266154/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3266154/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177518.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3266154/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56594}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177517.0>, params: %{}, path_info: ["sources", "30", "media", "3266154", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3266154/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H_YeWnp4i-kwCQY_B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177518.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3266154/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56594}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/30/media/3266154/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177518.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3266154/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56594}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177517.0>, params: %{}, path_info: ["sources", "30", "media", "3266154", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:55:51.520 [info] {"source":"oban","duration":7801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:55.506 [info] GET /sources/30/media/3274030/force_download 05:55:55.507 [debug] QUERY OK source="settings" db=0.1ms idle=1567.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:55.507 [debug] QUERY OK source="settings" db=0.1ms idle=1259.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:55.507 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:55:55.507 [error] #PID<0.1177567.0> running PinchflatWeb.Endpoint (connection #PID<0.1177516.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3274030/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3274030/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177516.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3274030/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53964}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177567.0>, params: %{}, path_info: ["sources", "30", "media", "3274030", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3274030/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H_rM5JD4eQ9oCQZAB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177516.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3274030/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53964}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/30/media/3274030/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177516.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3274030/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53964}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177567.0>, params: %{}, path_info: ["sources", "30", "media", "3274030", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:56:00.517 [info] GET /sources/30/media/3038536/force_download 05:56:00.517 [debug] QUERY OK source="settings" db=0.1ms idle=1577.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:00.518 [debug] QUERY OK source="settings" db=0.0ms idle=1577.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:00.518 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:56:00.518 [error] #PID<0.1177568.0> running PinchflatWeb.Endpoint (connection #PID<0.1177566.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3038536/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3038536/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177566.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3038536/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 48762}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177568.0>, params: %{}, path_info: ["sources", "30", "media", "3038536", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3038536/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2H_93hD1S-ZAUCQZBB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177566.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3038536/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 48762}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/30/media/3038536/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1177566.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3038536/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 48762}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1177568.0>, params: %{}, path_info: ["sources", "30", "media", "3038536", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 05:56:00.953 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:56:18.009 [info] GET /sources/57/media/3071726 05:56:18.009 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3071726", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 05:56:18.010 [debug] QUERY OK source="media_items" db=0.1ms idle=1069.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" = ?) [3071726] 05:56:18.010 [debug] QUERY OK source="tasks" db=0.1ms idle=1069.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3071726] 05:56:18.010 [debug] QUERY OK source="sources" db=0.2ms idle=1069.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:56:18.010 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=725.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" = ?) [357153] 05:56:18.011 [debug] QUERY OK source="settings" db=0.0ms idle=70.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:18.011 [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:56:18.011 [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 [] 05:56:18.012 [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] 05:56:18.013 [info] Sent 200 in 3ms 05:56:21.528 [info] {"source":"oban","duration":6108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 05:56:22.746 [info] GET /sources/30/media/3022986 05:56:22.746 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3022986", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 05:56:22.746 [debug] QUERY OK source="media_items" db=0.1ms idle=1218.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" = ?) [3022986] 05:56:22.747 [debug] QUERY OK source="tasks" db=0.1ms idle=806.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3022986] 05:56:22.747 [debug] QUERY OK source="sources" db=0.1ms idle=806.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:56:22.747 [debug] QUERY OK source="settings" db=0.1ms idle=807.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:22.747 [debug] QUERY OK source="settings" db=0.0ms idle=454.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:22.747 [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 [] 05:56:22.748 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:56:22.749 [info] Sent 200 in 2ms 05:56:27.753 [info] GET /sources/43/media/3129532 05:56:27.753 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3129532", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 05:56:27.754 [debug] QUERY OK source="media_items" db=0.2ms idle=1814.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" = ?) [3129532] 05:56:27.754 [debug] QUERY OK source="tasks" db=0.1ms idle=1814.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3129532] 05:56:27.754 [debug] QUERY OK source="sources" db=0.2ms idle=1814.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 05:56:27.755 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1454.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [370574, 374528] 05:56:27.755 [debug] QUERY OK source="settings" db=0.0ms idle=452.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:27.755 [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 [] 05:56:27.755 [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 [] 05:56:27.756 [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] 05:56:27.757 [info] Sent 200 in 3ms 05:56:32.755 [info] GET /sources/52/media/3219365 05:56:32.755 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3219365", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 05:56:32.755 [debug] QUERY OK source="media_items" db=0.2ms idle=1815.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" = ?) [3219365] 05:56:32.756 [debug] QUERY OK source="tasks" db=0.2ms idle=1816.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3219365] 05:56:32.756 [debug] QUERY OK source="sources" db=0.2ms idle=1816.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:56:32.756 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1447.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [394663, 394693, 394710, 394726, 394743, 394758, 394777, 394793, 394809, 394825, 394842, 394857, 394874, 394893, 394909, 394925, 394942, 394957, 394973, 394990, 395008, 395025, 397238] 05:56:32.757 [debug] QUERY OK source="settings" db=0.0ms idle=447.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:32.757 [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 [] 05:56:32.757 [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 [] 05:56:32.758 [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] 05:56:32.760 [info] Sent 200 in 5ms 05:56:37.756 [info] GET /sources/52/media/3156555 05:56:37.756 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3156555", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 05:56:37.757 [debug] QUERY OK source="media_items" db=0.2ms idle=1816.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" = ?) [3156555] 05:56:37.757 [debug] QUERY OK source="tasks" db=0.2ms idle=1817.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3156555] 05:56:37.757 [debug] QUERY OK source="sources" db=0.2ms idle=1817.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:56:37.758 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1444.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [378087, 380475] 05:56:37.758 [debug] QUERY OK source="settings" db=0.0ms idle=442.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:37.758 [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 [] 05:56:37.758 [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:56:37.759 [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] 05:56:37.760 [info] Sent 200 in 3ms 05:56:42.777 [info] GET /sources/52/media/2587438 05:56:42.777 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2587438", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 05:56:42.777 [debug] QUERY OK source="media_items" db=0.2ms idle=1837.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" = ?) [2587438] 05:56:42.778 [debug] QUERY OK source="tasks" db=0.1ms idle=1838.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2587438] 05:56:42.778 [debug] QUERY OK source="sources" db=0.1ms idle=1838.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:56:42.778 [debug] QUERY OK source="settings" db=0.0ms idle=1457.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:42.778 [debug] QUERY OK source="settings" db=0.0ms idle=455.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:42.779 [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:56:42.779 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:56:42.780 [info] Sent 200 in 2ms 05:56:47.776 [info] GET /sources/43/media/2897787 05:56:47.776 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2897787", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 05:56:47.777 [debug] QUERY OK source="media_items" db=0.1ms idle=1836.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" = ?) [2897787] 05:56:47.777 [debug] QUERY OK source="tasks" db=0.1ms idle=1837.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2897787] 05:56:47.777 [debug] QUERY OK source="sources" db=0.2ms idle=1837.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 05:56:47.777 [debug] QUERY OK source="settings" db=0.0ms idle=1446.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:47.778 [debug] QUERY OK source="settings" db=0.1ms idle=444.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:47.778 [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 [] 05:56:47.778 [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] 05:56:47.779 [info] Sent 200 in 3ms 05:56:51.536 [info] {"source":"oban","duration":7624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:52.776 [info] GET /sources/30/media/2984228 05:56:52.777 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2984228", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 05:56:52.777 [debug] QUERY OK source="media_items" db=0.1ms idle=1837.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" = ?) [2984228] 05:56:52.777 [debug] QUERY OK source="tasks" db=0.1ms idle=1837.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2984228] 05:56:52.778 [debug] QUERY OK source="sources" db=0.1ms idle=1437.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:56:52.778 [debug] QUERY OK source="settings" db=0.0ms idle=1241.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:52.778 [debug] QUERY OK source="settings" db=0.0ms idle=436.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:52.778 [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 [] 05:56:52.779 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:56:52.780 [info] Sent 200 in 3ms 05:56:57.778 [info] GET /sources/30/media/3030759 05:56:57.778 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3030759", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 05:56:57.779 [debug] QUERY OK source="media_items" db=0.1ms idle=1838.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" = ?) [3030759] 05:56:57.779 [debug] QUERY OK source="tasks" db=0.0ms idle=1839.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3030759] 05:56:57.779 [debug] QUERY OK source="sources" db=0.1ms idle=1839.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:56:57.779 [debug] QUERY OK source="settings" db=0.0ms idle=1433.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:57.780 [debug] QUERY OK source="settings" db=0.0ms idle=432.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:57.780 [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:56:57.781 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:56:57.782 [info] Sent 200 in 3ms 05:57:00.954 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:57:02.785 [info] GET /sources/57/media/3276328 05:57:02.785 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3276328", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 05:57:02.785 [debug] QUERY OK source="media_items" db=0.2ms idle=1845.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" = ?) [3276328] 05:57:02.786 [debug] QUERY OK source="tasks" db=0.1ms idle=1845.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3276328] 05:57:02.786 [debug] QUERY OK source="sources" db=0.2ms idle=1831.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:57:02.786 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1432.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [409959, 412083] 05:57:02.786 [debug] QUERY OK source="settings" db=0.0ms idle=431.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:02.786 [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 [] 05:57:02.787 [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 [] 05:57:02.787 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:57:02.788 [info] Sent 200 in 3ms 05:57:07.786 [info] GET /sources/43/media/3223700 05:57:07.786 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3223700", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 05:57:07.786 [debug] QUERY OK source="media_items" db=0.2ms idle=1846.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" = ?) [3223700] 05:57:07.787 [debug] QUERY OK source="tasks" db=0.2ms idle=1846.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3223700] 05:57:07.787 [debug] QUERY OK source="sources" db=0.2ms idle=1846.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 05:57:07.787 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1425.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" = ?) [395492] 05:57:07.787 [debug] QUERY OK source="settings" db=0.0ms idle=424.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:07.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 [] 05:57:07.788 [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 [] 05:57:07.788 [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] 05:57:07.789 [info] Sent 200 in 3ms 05:57:12.798 [info] GET /sources/43/media/2859600 05:57:12.798 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2859600", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 05:57:12.799 [debug] QUERY OK source="media_items" db=0.2ms idle=1858.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" = ?) [2859600] 05:57:12.799 [debug] QUERY OK source="tasks" db=0.1ms idle=1859.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2859600] 05:57:12.799 [debug] QUERY OK source="sources" db=0.2ms idle=1859.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 05:57:12.799 [debug] QUERY OK source="settings" db=0.0ms idle=1429.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:12.799 [debug] QUERY OK source="settings" db=0.0ms idle=427.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:12.800 [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 [] 05:57:12.800 [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] 05:57:12.801 [info] Sent 200 in 2ms 05:57:17.797 [info] GET /sources/30/media/3218823 05:57:17.797 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3218823", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 05:57:17.798 [debug] QUERY OK source="media_items" db=0.2ms idle=1858.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" = ?) [3218823] 05:57:17.798 [debug] QUERY OK source="tasks" db=0.1ms idle=1858.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3218823] 05:57:17.799 [debug] QUERY OK source="sources" db=0.2ms idle=1858.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:57:17.799 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1419.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [394518, 397237] 05:57:17.799 [debug] QUERY OK source="settings" db=0.0ms idle=418.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:17.799 [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 [] 05:57:17.800 [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:57:17.800 [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] 05:57:17.801 [info] Sent 200 in 3ms 05:57:21.545 [info] {"source":"oban","duration":7894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:24.361 [info] GET /sources/57/media/3260536 05:57:24.362 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3260536", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 05:57:24.362 [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" = ?) [3260536] 05:57:24.362 [debug] QUERY OK source="tasks" db=0.1ms idle=1422.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3260536] 05:57:24.362 [debug] QUERY OK source="sources" db=0.2ms idle=1422.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:57:24.363 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1422.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [406078, 408231] 05:57:24.363 [debug] QUERY OK source="settings" db=0.0ms idle=972.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:24.363 [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 [] 05:57:24.363 [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:57:24.364 [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] 05:57:24.365 [info] Sent 200 in 3ms 05:57:29.143 [info] GET /sources/30/media/2976621 05:57:29.143 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2976621", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 05:57:29.144 [debug] QUERY OK source="media_items" db=0.1ms idle=1203.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" = ?) [2976621] 05:57:29.144 [debug] QUERY OK source="tasks" db=0.1ms idle=1203.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2976621] 05:57:29.144 [debug] QUERY OK source="sources" db=0.2ms idle=1203.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:57:29.145 [debug] QUERY OK source="settings" db=0.0ms idle=1204.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:29.145 [debug] QUERY OK source="settings" db=0.1ms idle=744.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:29.145 [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 [] 05:57:29.146 [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] 05:57:29.147 [info] Sent 200 in 3ms 05:57:34.150 [info] GET /sources/57/media/3260530 05:57:34.150 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3260530", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 05:57:34.150 [debug] QUERY OK source="media_items" db=0.2ms idle=1210.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" = ?) [3260530] 05:57:34.151 [debug] QUERY OK source="tasks" db=0.2ms idle=1210.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3260530] 05:57:34.151 [debug] QUERY OK source="sources" db=0.3ms idle=1210.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:57:34.151 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1211.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [406077, 406092, 407964, 407978, 409960, 409973, 411811, 411823, 414055, 414067, 416334, 416347, 418610, 418623] 05:57:34.151 [debug] QUERY OK source="settings" db=0.0ms idle=744.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:34.152 [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 [] 05:57:34.152 [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 [] 05:57:34.152 [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] 05:57:34.154 [info] Sent 200 in 4ms 05:57:39.296 [info] GET /sources/57/media/3150000 05:57:39.296 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3150000", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 05:57:39.297 [debug] QUERY OK source="media_items" db=0.2ms idle=1357.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" = ?) [3150000] 05:57:39.297 [debug] QUERY OK source="tasks" db=0.1ms idle=1357.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3150000] 05:57:39.298 [debug] QUERY OK source="sources" db=0.2ms idle=1357.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:57:39.298 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1358.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [376515, 378650] 05:57:39.298 [debug] QUERY OK source="settings" db=0.0ms idle=884.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:39.298 [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 [] 05:57:39.299 [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:57:39.299 [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] 05:57:39.300 [info] Sent 200 in 3ms 05:57:44.298 [info] GET /sources/57/media/3032962 05:57:44.298 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3032962", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 05:57:44.298 [debug] QUERY OK source="media_items" db=0.1ms idle=1358.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" = ?) [3032962] 05:57:44.299 [debug] QUERY OK source="tasks" db=0.1ms idle=1359.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3032962] 05:57:44.299 [debug] QUERY OK source="sources" db=0.2ms idle=1359.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:57:44.299 [debug] QUERY OK source="settings" db=0.0ms idle=1359.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:44.300 [debug] QUERY OK source="settings" db=0.0ms idle=878.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:44.300 [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 [] 05:57:44.300 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:57:44.301 [info] Sent 200 in 3ms 05:57:48.038 [info] GET /sources/55/media/2378747 05:57:48.038 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2378747", "source_id" => "55"} Pipelines: [:browser] 05:57:48.039 [debug] QUERY OK source="media_items" db=0.2ms idle=611.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" = ?) [2378747] 05:57:48.039 [debug] QUERY OK source="tasks" db=0.1ms idle=98.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2378747] 05:57:48.040 [debug] QUERY OK source="sources" db=0.2ms idle=98.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:57:48.040 [debug] QUERY OK source="settings" db=0.0ms idle=99.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:48.040 [debug] QUERY OK source="settings" db=0.0ms idle=99.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:48.040 [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 [] 05:57:48.041 [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] 05:57:48.042 [info] Sent 200 in 3ms 05:57:51.552 [info] {"source":"oban","duration":5341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:52.873 [info] GET /sources/55 05:57:52.873 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "55"} Pipelines: [:browser] 05:57:52.873 [debug] QUERY OK source="sources" db=0.1ms idle=1320.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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:57:52.874 [debug] QUERY OK source="media_profiles" db=0.1ms idle=932.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:57:52.874 [debug] QUERY OK source="tasks" db=0.3ms idle=932.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 (?,?,?,?)) [55, "executing", "available", "scheduled", "retryable"] 05:57:52.874 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=933.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" = ?) [418630] 05:57:52.875 [debug] QUERY OK source="settings" db=0.0ms idle=437.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:52.875 [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 [] 05:57:52.875 [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:57:52.876 [debug] QUERY OK source="sources" db=0.0ms idle=1.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 05:57:52.876 [debug] QUERY OK source="media_items" db=0.2ms 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")))) [55] 05:57:52.877 [debug] QUERY OK source="media_items" db=0.4ms idle=1.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [55, 10, 0] 05:57:52.877 [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] 05:57:52.877 [debug] QUERY OK source="media_items" db=0.0ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [55] 05:57:52.877 [debug] QUERY OK source="media_items" db=0.2ms idle=1.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [55, 10, 0] 05:57:52.878 [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" = ?) [55] 05:57:52.878 [debug] QUERY OK source="media_items" db=0.1ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [55] 05:57:52.879 [debug] QUERY OK source="media_items" db=0.4ms idle=1.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [55, 10, 0] 05:57:52.880 [info] Sent 200 in 6ms 05:58:00.955 [info] {"source":"oban","duration":609,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:58:01.409 [info] GET /sources/57/media/2405721 05:58:01.409 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2405721", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 05:58:01.410 [debug] QUERY OK source="media_items" db=0.2ms idle=1469.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" = ?) [2405721] 05:58:01.410 [debug] QUERY OK source="tasks" db=0.1ms idle=1469.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2405721] 05:58:01.410 [debug] QUERY OK source="sources" db=0.2ms idle=1469.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:58:01.411 [debug] QUERY OK source="settings" db=0.0ms idle=960.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:01.411 [debug] QUERY OK source="settings" db=0.0ms idle=455.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:01.411 [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:58:01.411 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:58:01.412 [info] Sent 200 in 3ms 05:58:06.330 [info] GET /sources/43/media/3006251 05:58:06.330 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3006251", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 05:58:06.330 [debug] QUERY OK source="media_items" db=0.1ms idle=1389.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" = ?) [3006251] 05:58:06.331 [debug] QUERY OK source="tasks" db=0.0ms idle=1390.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3006251] 05:58:06.331 [debug] QUERY OK source="sources" db=0.1ms idle=1390.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 05:58:06.331 [debug] QUERY OK source="settings" db=0.0ms idle=1390.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:06.331 [debug] QUERY OK source="settings" db=0.0ms idle=873.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:06.332 [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 [] 05:58:06.332 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:58:06.333 [info] Sent 200 in 2ms 05:58:11.330 [info] GET /sources/43/media/3114962 05:58:11.330 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3114962", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 05:58:11.331 [debug] QUERY OK source="media_items" db=0.1ms idle=1390.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" = ?) [3114962] 05:58:11.331 [debug] QUERY OK source="tasks" db=0.1ms idle=1390.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3114962] 05:58:11.331 [debug] QUERY OK source="sources" db=0.2ms idle=1390.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 05:58:11.332 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1391.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [366315, 369918] 05:58:11.332 [debug] QUERY OK source="settings" db=0.1ms idle=868.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:11.332 [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 [] 05:58:11.333 [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 [] 05:58:11.333 [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] 05:58:11.334 [info] Sent 200 in 4ms 05:58:16.335 [info] GET /sources/43/media/3310636 05:58:16.335 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3310636", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 05:58:16.336 [debug] QUERY OK source="media_items" db=0.1ms idle=1395.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" = ?) [3310636] 05:58:16.336 [debug] QUERY OK source="tasks" db=0.1ms idle=1395.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3310636] 05:58:16.337 [debug] QUERY OK source="sources" db=0.3ms idle=1395.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 05:58:16.337 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1396.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [419406] 05:58:16.337 [debug] QUERY OK source="settings" db=0.1ms idle=864.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:16.337 [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 [] 05:58:16.338 [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 [] 05:58:16.338 [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] 05:58:16.339 [info] Sent 200 in 3ms 05:58:21.557 [info] {"source":"oban","duration":4926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:21.899 [info] GET /sources/32/media/1227396 05:58:21.899 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227396", "source_id" => "32"} Pipelines: [:browser] 05:58:21.899 [debug] QUERY OK source="media_items" db=0.1ms idle=1958.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" = ?) [1227396] 05:58:21.900 [debug] QUERY OK source="tasks" db=0.1ms idle=1958.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1227396] 05:58:21.900 [debug] QUERY OK source="sources" db=0.1ms idle=1418.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:58:21.900 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=417.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?)) [349722, 376499, 403874] 05:58:21.900 [debug] QUERY OK source="settings" db=0.0ms idle=343.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:21.901 [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:58:21.901 [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:58:21.901 [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] 05:58:21.902 [info] Sent 200 in 3ms 05:58:26.940 [info] GET /sources/32/media/1227399/edit 05:58:26.940 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227399", "source_id" => "32"} Pipelines: [:browser] 05:58:26.940 [debug] QUERY OK source="media_items" db=0.1ms idle=1999.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" = ?) [1227399] 05:58:26.940 [debug] QUERY OK source="settings" db=0.0ms idle=1999.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:26.941 [debug] QUERY OK source="settings" db=0.0ms idle=449.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:26.941 [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:58:26.942 [info] Sent 200 in 1ms 05:58:31.872 [info] GET /sources/32/media/2606006 05:58:31.872 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2606006", "source_id" => "32"} Pipelines: [:browser] 05:58:31.873 [debug] QUERY OK source="media_items" db=0.1ms idle=931.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" = ?) [2606006] 05:58:31.873 [debug] QUERY OK source="tasks" db=0.1ms idle=932.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2606006] 05:58:31.873 [debug] QUERY OK source="sources" db=0.2ms idle=932.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:58:31.873 [debug] QUERY OK source="settings" db=0.0ms idle=932.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:31.874 [debug] QUERY OK source="settings" db=0.0ms idle=372.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:31.874 [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 [] 05:58:31.874 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:58:31.875 [info] Sent 200 in 3ms 05:58:36.876 [info] GET /sources/32/media/1227402/edit 05:58:36.876 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227402", "source_id" => "32"} Pipelines: [:browser] 05:58:36.877 [debug] QUERY OK source="media_items" db=0.1ms idle=1935.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" = ?) [1227402] 05:58:36.877 [debug] QUERY OK source="settings" db=0.1ms idle=1936.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:36.877 [debug] QUERY OK source="settings" db=0.0ms idle=1936.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:36.877 [debug] QUERY OK source="settings" db=0.0ms idle=1369.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:36.878 [info] Sent 200 in 2ms 05:58:42.533 [info] GET /sources/46 05:58:42.533 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "46"} Pipelines: [:browser] 05:58:42.533 [debug] QUERY OK source="sources" db=0.2ms idle=592.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 05:58:42.533 [debug] QUERY OK source="media_profiles" db=0.1ms idle=592.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:58:42.537 [debug] QUERY OK source="tasks" db=3.1ms idle=593.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 (?,?,?,?)) [46, "executing", "available", "scheduled", "retryable"] 05:58:42.537 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=596.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" = ?) [419668] 05:58:42.537 [debug] QUERY OK source="settings" db=0.0ms idle=19.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:42.537 [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 [] 05:58:42.538 [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 [] 05:58:42.539 [debug] QUERY OK source="sources" db=0.1ms idle=1.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 05:58:42.539 [debug] QUERY OK source="media_items" db=0.4ms idle=1.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 05:58:42.540 [debug] QUERY OK source="media_items" db=0.4ms idle=2.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [46, 10, 0] 05:58:42.540 [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" = ?) [46] 05:58:42.541 [debug] QUERY OK source="media_items" db=0.1ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [46] 05:58:42.541 [debug] QUERY OK source="media_items" db=0.3ms idle=1.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [46, 10, 0] 05:58:42.541 [debug] QUERY OK source="sources" db=0.0ms idle=1.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 05:58:42.542 [debug] QUERY OK source="media_items" db=0.1ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [46] 05:58:42.542 [debug] QUERY OK source="media_items" db=0.5ms idle=1.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [46, 10, 0] 05:58:42.543 [info] Sent 200 in 10ms 05:58:47.355 [info] GET /sources/17/media/12958 05:58:47.355 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12958", "source_id" => "17"} Pipelines: [:browser] 05:58:47.356 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=1414.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" = ?) [12958] 05:58:47.356 [debug] QUERY OK source="tasks" db=0.1ms idle=1415.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12958] 05:58:47.356 [debug] QUERY OK source="sources" db=0.2ms idle=1415.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 05:58:47.357 [debug] QUERY OK source="settings" db=0.0ms idle=1415.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:47.357 [debug] QUERY OK source="settings" db=0.0ms idle=830.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:47.357 [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 [] 05:58:47.358 [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] 05:58:47.358 [info] Sent 200 in 3ms 05:58:51.566 [info] {"source":"oban","duration":7804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 05:58:52.355 [info] GET /sources/17/media/12960 05:58:52.355 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12960", "source_id" => "17"} Pipelines: [:browser] 05:58:52.355 [debug] QUERY OK source="media_items" db=0.3ms idle=1414.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" = ?) [12960] 05:58:52.357 [debug] QUERY OK source="tasks" db=1.5ms idle=1414.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12960] 05:58:52.357 [debug] QUERY OK source="sources" db=1.5ms idle=1415.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 05:58:52.358 [debug] QUERY OK source="settings" db=0.8ms idle=824.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:52.359 [debug] QUERY OK source="settings" db=0.0ms idle=792.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:52.359 [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 [] 05:58:52.359 [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] 05:58:52.360 [info] Sent 200 in 5ms 05:58:57.356 [info] GET /sources/17/media/12959 05:58:57.356 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12959", "source_id" => "17"} Pipelines: [:browser] 05:58:57.356 [debug] QUERY OK source="media_items" db=0.1ms idle=1415.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" = ?) [12959] 05:58:57.357 [debug] QUERY OK source="tasks" db=0.1ms idle=1415.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12959] 05:58:57.357 [debug] QUERY OK source="sources" db=0.2ms idle=1415.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 05:58:57.357 [debug] QUERY OK source="settings" db=0.0ms idle=1416.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:57.357 [debug] QUERY OK source="settings" db=0.0ms idle=815.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:57.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 [] 05:58:57.358 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:58:57.359 [info] Sent 200 in 2ms 05:59:00.957 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:59:02.355 [info] GET /sources/9/media/6878/edit 05:59:02.355 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6878", "source_id" => "9"} Pipelines: [:browser] 05:59:02.356 [debug] QUERY OK source="media_items" db=0.2ms idle=1415.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" = ?) [6878] 05:59:02.356 [debug] QUERY OK source="settings" db=0.1ms idle=1415.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:02.356 [debug] QUERY OK source="settings" db=0.0ms idle=1415.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:02.357 [debug] QUERY OK source="settings" db=0.0ms idle=1399.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:02.357 [info] Sent 200 in 2ms 05:59:07.364 [info] GET /sources/17/media/12955 05:59:07.365 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12955", "source_id" => "17"} Pipelines: [:browser] 05:59:07.365 [debug] QUERY OK source="media_items" db=0.1ms idle=1423.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" = ?) [12955] 05:59:07.365 [debug] QUERY OK source="tasks" db=0.1ms idle=1424.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12955] 05:59:07.366 [debug] QUERY OK source="sources" db=0.2ms idle=1424.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 05:59:07.366 [debug] QUERY OK source="settings" db=0.0ms idle=1424.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:07.366 [debug] QUERY OK source="settings" db=0.0ms idle=807.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:07.366 [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 [] 05:59:07.367 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:59:07.367 [info] Sent 200 in 2ms 05:59:12.366 [info] GET /sources/38/media/2003157/edit 05:59:12.366 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2003157", "source_id" => "38"} Pipelines: [:browser] 05:59:12.366 [debug] QUERY OK source="media_items" db=0.2ms idle=1425.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" = ?) [2003157] 05:59:12.367 [debug] QUERY OK source="settings" db=0.1ms idle=1425.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:12.367 [debug] QUERY OK source="settings" db=0.0ms idle=1425.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:12.367 [debug] QUERY OK source="settings" db=0.0ms idle=1426.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:12.368 [info] Sent 200 in 2ms 05:59:17.367 [info] GET /sources/9/media/6884/edit 05:59:17.367 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6884", "source_id" => "9"} Pipelines: [:browser] 05:59:17.367 [debug] QUERY OK source="media_items" db=0.2ms idle=1426.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" = ?) [6884] 05:59:17.367 [debug] QUERY OK source="settings" db=0.1ms idle=1426.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:17.368 [debug] QUERY OK source="settings" db=0.0ms idle=1426.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:17.368 [debug] QUERY OK source="settings" db=0.1ms idle=1427.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:17.369 [info] Sent 200 in 2ms 05:59:21.574 [info] {"source":"oban","duration":6331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:22.371 [info] GET /sources/9/media/6878 05:59:22.371 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6878", "source_id" => "9"} Pipelines: [:browser] 05:59:22.372 [debug] QUERY OK source="media_items" db=0.1ms idle=1430.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" = ?) [6878] 05:59:22.372 [debug] QUERY OK source="tasks" db=0.1ms idle=1431.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6878] 05:59:22.372 [debug] QUERY OK source="sources" db=0.2ms idle=1431.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:59:22.372 [debug] QUERY OK source="settings" db=0.0ms idle=798.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:22.373 [debug] QUERY OK source="settings" db=0.0ms idle=787.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:22.373 [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 [] 05:59:22.373 [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] 05:59:22.374 [info] Sent 200 in 2ms 05:59:27.383 [info] GET /sources/9/media/6875/edit 05:59:27.383 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6875", "source_id" => "9"} Pipelines: [:browser] 05:59:27.384 [debug] QUERY OK source="media_items" db=0.1ms idle=1442.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" = ?) [6875] 05:59:27.384 [debug] QUERY OK source="settings" db=0.1ms idle=1443.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:27.384 [debug] QUERY OK source="settings" db=0.0ms idle=1443.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:27.385 [debug] QUERY OK source="settings" db=0.0ms idle=1443.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:27.385 [info] Sent 200 in 1ms 05:59:32.629 [info] GET /media_profiles/2 05:59:32.629 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"delete_files" => "true", "id" => "2"} Pipelines: [:browser] 05:59:32.629 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1688.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 05:59:32.630 [debug] QUERY OK source="sources" db=0.1ms idle=1688.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 05:59:32.630 [debug] QUERY OK source="settings" db=0.0ms idle=1688.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:32.630 [debug] QUERY OK source="settings" db=0.1ms idle=1028.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:32.631 [debug] QUERY OK source="settings" db=0.0ms idle=27.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:32.631 [info] Sent 200 in 2ms 05:59:37.682 [info] GET /sources/38/media/2074959/edit 05:59:37.682 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2074959", "source_id" => "38"} Pipelines: [:browser] 05:59:37.682 [debug] QUERY OK source="media_items" db=0.1ms idle=1741.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" = ?) [2074959] 05:59:37.683 [debug] QUERY OK source="settings" db=0.0ms idle=1741.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:37.683 [debug] QUERY OK source="settings" db=0.0ms idle=1742.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:37.683 [debug] QUERY OK source="settings" db=0.0ms idle=1071.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:37.684 [info] Sent 200 in 1ms 05:59:42.566 [info] GET /sources/55/media/1901240 05:59:42.566 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1901240", "source_id" => "55"} Pipelines: [:browser] 05:59:42.567 [debug] QUERY OK source="media_items" db=0.1ms idle=1625.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" = ?) [1901240] 05:59:42.567 [debug] QUERY OK source="tasks" db=0.1ms idle=1626.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1901240] 05:59:42.567 [debug] QUERY OK source="sources" db=0.2ms idle=1626.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 05:59:42.568 [debug] QUERY OK source="settings" db=0.0ms idle=1626.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:42.568 [debug] QUERY OK source="settings" db=0.1ms idle=945.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:42.568 [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 [] 05:59:42.568 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:59:42.569 [info] Sent 200 in 3ms 05:59:47.567 [info] GET /sources/26/media/327254 05:59:47.567 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "327254", "source_id" => "26"} Pipelines: [:browser] 05:59:47.567 [debug] QUERY OK source="media_items" db=0.2ms idle=1626.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" = ?) [327254] 05:59:47.568 [debug] QUERY OK source="tasks" db=0.1ms idle=1626.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [327254] 05:59:47.568 [debug] QUERY OK source="sources" db=0.1ms idle=1626.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 05:59:47.568 [debug] QUERY OK source="settings" db=0.0ms idle=1627.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:47.568 [debug] QUERY OK source="settings" db=0.0ms idle=937.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:47.569 [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 [] 05:59:47.569 [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] 05:59:47.570 [info] Sent 200 in 3ms 05:59:51.582 [info] {"source":"oban","duration":7899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:52.568 [info] GET /sources/52/media/2352190/edit 05:59:52.569 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2352190", "source_id" => "52"} Pipelines: [:browser] 05:59:52.569 [debug] QUERY OK source="media_items" db=0.1ms idle=1628.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" = ?) [2352190] 05:59:52.569 [debug] QUERY OK source="settings" db=0.0ms idle=1628.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:52.570 [debug] QUERY OK source="settings" db=0.0ms idle=1628.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:52.570 [debug] QUERY OK source="settings" db=0.0ms idle=987.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:52.571 [info] Sent 200 in 2ms 05:59:57.574 [info] GET /sources/52/media/2720968 05:59:57.574 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2720968", "source_id" => "52"} Pipelines: [:browser] 05:59:57.574 [debug] QUERY OK source="media_items" db=0.1ms idle=1633.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" = ?) [2720968] 05:59:57.575 [debug] QUERY OK source="sources" db=0.1ms idle=1633.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 05:59:57.584 [debug] QUERY OK source="tasks" db=9.5ms idle=1633.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2720968] 05:59:57.622 [debug] QUERY OK source="oban_jobs" db=23.1ms idle=1658.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? (truncated) 05:59:57.662 [debug] QUERY OK source="settings" db=0.1ms idle=87.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:57.663 [debug] QUERY OK source="settings" db=0.0ms idle=87.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:57.663 [debug] QUERY OK source="settings" db=0.0ms idle=78.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:57.664 [debug] QUERY OK source="media_profiles" db=0.1ms idle=41.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:59:57.896 [info] Sent 200 in 321ms 06:00:00.958 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:00:01.838 [info] GET /sources/26/media/327251 06:00:01.838 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "327251", "source_id" => "26"} Pipelines: [:browser] 06:00:01.838 [debug] QUERY OK source="media_items" db=0.3ms idle=897.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" = ?) [327251] 06:00:01.839 [debug] QUERY OK source="tasks" db=0.1ms idle=897.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [327251] 06:00:01.839 [debug] QUERY OK source="sources" db=0.1ms idle=897.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:00:01.839 [debug] QUERY OK source="settings" db=0.1ms idle=881.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:01.839 [debug] QUERY OK source="settings" db=0.0ms idle=184.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:01.840 [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 [] 06:00:01.840 [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] 06:00:01.841 [info] Sent 200 in 3ms 06:00:06.730 [info] GET /sources/52/media/2367834/edit 06:00:06.730 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2367834", "source_id" => "52"} Pipelines: [:browser] 06:00:06.731 [debug] QUERY OK source="media_items" db=0.1ms idle=1789.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" = ?) [2367834] 06:00:06.731 [debug] QUERY OK source="settings" db=0.0ms idle=1790.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:06.731 [debug] QUERY OK source="settings" db=0.1ms idle=1790.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:06.732 [debug] QUERY OK source="settings" db=0.0ms idle=1071.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:06.732 [info] Sent 200 in 2ms 06:00:11.732 [info] GET /sources/32/media/1227398/edit 06:00:11.732 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227398", "source_id" => "32"} Pipelines: [:browser] 06:00:11.733 [debug] QUERY OK source="media_items" db=0.1ms idle=1791.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" = ?) [1227398] 06:00:11.733 [debug] QUERY OK source="settings" db=0.1ms idle=1792.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:11.733 [debug] QUERY OK source="settings" db=0.1ms idle=1792.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:11.734 [debug] QUERY OK source="settings" db=0.1ms idle=1063.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:11.734 [info] Sent 200 in 2ms 06:00:17.307 [info] GET /sources/38/media/1911765/edit 06:00:17.307 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1911765", "source_id" => "38"} Pipelines: [:browser] 06:00:17.308 [debug] QUERY OK source="media_items" db=0.2ms idle=627.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" = ?) [1911765] 06:00:17.308 [debug] QUERY OK source="settings" db=0.1ms idle=367.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:17.308 [debug] QUERY OK source="settings" db=0.0ms idle=367.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:17.308 [debug] QUERY OK source="settings" db=0.0ms idle=367.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:17.309 [info] Sent 200 in 1ms 06:00:21.588 [info] {"source":"oban","duration":5000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:22.368 [info] GET /sources/57/media/2303892/edit 06:00:22.368 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2303892", "source_id" => "57"} Pipelines: [:browser] 06:00:22.368 [debug] QUERY OK source="media_items" db=0.2ms idle=1427.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" = ?) [2303892] 06:00:22.369 [debug] QUERY OK source="settings" db=0.0ms idle=1427.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:22.369 [debug] QUERY OK source="settings" db=0.0ms idle=1428.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:22.369 [debug] QUERY OK source="settings" db=0.0ms idle=780.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:22.370 [info] Sent 200 in 1ms 06:00:27.271 [info] GET /sources/55/media/2276817/edit 06:00:27.271 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2276817", "source_id" => "55"} Pipelines: [:browser] 06:00:27.271 [debug] QUERY OK source="media_items" db=0.1ms idle=1330.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" = ?) [2276817] 06:00:27.272 [debug] QUERY OK source="settings" db=0.1ms idle=1330.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:27.272 [debug] QUERY OK source="settings" db=0.0ms idle=1331.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:27.272 [debug] QUERY OK source="settings" db=0.0ms idle=1331.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:27.273 [info] Sent 200 in 2ms 06:00:32.751 [info] GET /sources/22/media/811286 06:00:32.751 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "811286", "source_id" => "22"} Pipelines: [:browser] 06:00:32.751 [debug] QUERY OK source="media_items" db=0.2ms idle=1810.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" = ?) [811286] 06:00:32.752 [debug] QUERY OK source="tasks" db=0.1ms idle=1811.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [811286] 06:00:32.752 [debug] QUERY OK source="sources" db=0.2ms idle=1811.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:00:32.752 [debug] QUERY OK source="settings" db=0.0ms idle=1045.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:32.752 [debug] QUERY OK source="settings" db=0.0ms idle=43.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:32.753 [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 [] 06:00:32.753 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:00:32.754 [info] Sent 200 in 3ms 06:00:37.671 [info] GET /sources/52/media/1301392/edit 06:00:37.671 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1301392", "source_id" => "52"} Pipelines: [:browser] 06:00:37.672 [debug] QUERY OK source="media_items" db=0.1ms idle=1730.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" = ?) [1301392] 06:00:37.672 [debug] QUERY OK source="settings" db=0.1ms idle=1730.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:37.672 [debug] QUERY OK source="settings" db=0.0ms idle=1731.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:37.673 [debug] QUERY OK source="settings" db=0.1ms idle=1731.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:37.673 [info] Sent 200 in 2ms 06:00:42.677 [info] GET /media_profiles/3 06:00:42.677 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"delete_files" => "true", "id" => "3"} Pipelines: [:browser] 06:00:42.677 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1735.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 06:00:42.677 [debug] QUERY OK source="sources" db=0.1ms idle=1736.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [3] 06:00:42.678 [debug] QUERY OK source="settings" db=0.0ms idle=1736.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:42.678 [debug] QUERY OK source="settings" db=0.0ms idle=1736.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:42.678 [debug] QUERY OK source="settings" db=0.0ms idle=954.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:42.679 [info] Sent 200 in 2ms 06:00:47.676 [info] GET /sources/38/media/2020529/edit 06:00:47.676 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2020529", "source_id" => "38"} Pipelines: [:browser] 06:00:47.676 [debug] QUERY OK source="media_items" db=0.2ms idle=1735.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" = ?) [2020529] 06:00:47.677 [debug] QUERY OK source="settings" db=0.0ms idle=1735.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:47.677 [debug] QUERY OK source="settings" db=0.0ms idle=1735.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:47.677 [debug] QUERY OK source="settings" db=0.1ms idle=1736.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:47.678 [info] Sent 200 in 2ms 06:00:51.596 [info] {"source":"oban","duration":5735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:00:52.677 [info] GET /sources/32/media/1227401/edit 06:00:52.677 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227401", "source_id" => "32"} Pipelines: [:browser] 06:00:52.678 [debug] QUERY OK source="media_items" db=0.7ms idle=1736.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" = ?) [1227401] 06:00:52.679 [debug] QUERY OK source="settings" db=1.1ms idle=1737.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:52.680 [debug] QUERY OK source="settings" db=0.3ms idle=1738.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:52.680 [debug] QUERY OK source="settings" db=0.0ms idle=1084.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:52.681 [info] Sent 200 in 3ms 06:00:57.683 [info] GET /sources/52/media/1301393 06:00:57.684 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1301393", "source_id" => "52"} Pipelines: [:browser] 06:00:57.684 [debug] QUERY OK source="media_items" db=0.1ms idle=1743.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" = ?) [1301393] 06:00:57.684 [debug] QUERY OK source="sources" db=0.2ms idle=1743.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:00:57.693 [debug] QUERY OK source="tasks" db=9.1ms idle=1743.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1301393] 06:00:57.732 [debug] QUERY OK source="oban_jobs" db=23.7ms idle=1767.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? (truncated) 06:00:57.774 [debug] QUERY OK source="settings" db=0.1ms idle=89.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:57.774 [debug] QUERY OK source="settings" db=0.0ms idle=89.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:57.775 [debug] QUERY OK source="settings" db=0.0ms idle=81.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:57.776 [debug] QUERY OK source="media_profiles" db=0.1ms idle=42.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:00:58.015 [info] Sent 200 in 331ms 06:01:00.959 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:01:02.686 [info] GET /sources/55/media/2363004/edit 06:01:02.686 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2363004", "source_id" => "55"} Pipelines: [:browser] 06:01:02.687 [debug] QUERY OK source="media_items" db=0.1ms idle=1745.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" = ?) [2363004] 06:01:02.687 [debug] QUERY OK source="settings" db=0.0ms idle=1746.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:02.687 [debug] QUERY OK source="settings" db=0.0ms idle=1746.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:02.687 [debug] QUERY OK source="settings" db=0.0ms idle=1728.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:02.688 [info] Sent 200 in 1ms 06:01:07.697 [info] GET /sources/32/media/1227402 06:01:07.697 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227402", "source_id" => "32"} Pipelines: [:browser] 06:01:07.697 [debug] QUERY OK source="media_items" db=0.1ms idle=1756.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" = ?) [1227402] 06:01:07.698 [debug] QUERY OK source="tasks" db=0.1ms idle=1756.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1227402] 06:01:07.698 [debug] QUERY OK source="sources" db=0.2ms idle=1756.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:01:07.698 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1757.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?)) [349727, 376504, 406069] 06:01:07.699 [debug] QUERY OK source="settings" db=0.0ms idle=931.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:07.699 [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 [] 06:01:07.699 [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 [] 06:01:07.699 [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] 06:01:07.700 [info] Sent 200 in 3ms 06:01:12.705 [info] GET /sources/38/media/2074959 06:01:12.705 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2074959", "source_id" => "38"} Pipelines: [:browser] 06:01:12.706 [debug] QUERY OK source="media_items" db=0.1ms idle=1764.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" = ?) [2074959] 06:01:12.706 [debug] QUERY OK source="tasks" db=0.0ms idle=1765.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2074959] 06:01:12.706 [debug] QUERY OK source="sources" db=0.1ms idle=1765.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:01:12.706 [debug] QUERY OK source="settings" db=0.0ms idle=1765.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:12.707 [debug] QUERY OK source="settings" db=0.0ms idle=931.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:12.707 [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 [] 06:01:12.707 [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] 06:01:12.708 [info] Sent 200 in 2ms 06:01:17.705 [info] GET /sources/52/media/1301398/edit 06:01:17.705 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1301398", "source_id" => "52"} Pipelines: [:browser] 06:01:17.705 [debug] QUERY OK source="media_items" db=0.1ms idle=1764.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" = ?) [1301398] 06:01:17.706 [debug] QUERY OK source="settings" db=0.0ms idle=1765.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:17.706 [debug] QUERY OK source="settings" db=0.0ms idle=1765.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:17.706 [debug] QUERY OK source="settings" db=0.0ms idle=1765.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:17.707 [info] Sent 200 in 2ms 06:01:21.605 [info] {"source":"oban","duration":7728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:23.430 [info] GET /sources/new 06:01:23.430 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "38"} Pipelines: [:browser] 06:01:23.431 [debug] QUERY OK source="sources" db=0.2ms idle=635.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:01:23.431 [debug] QUERY OK source="media_profiles" db=0.1ms idle=490.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" [] 06:01:23.431 [debug] QUERY OK source="settings" db=0.0ms idle=490.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:23.432 [debug] QUERY OK source="settings" db=0.0ms idle=490.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:23.432 [debug] QUERY OK source="settings" db=0.0ms idle=490.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:23.432 [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 [] 06:01:23.432 [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 [] 06:01:23.434 [info] Sent 200 in 3ms 06:01:28.303 [info] GET /sources/new 06:01:28.303 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "26"} Pipelines: [:browser] 06:01:28.304 [debug] QUERY OK source="sources" db=0.2ms idle=1362.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:01:28.304 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1363.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 06:01:28.304 [debug] QUERY OK source="settings" db=0.0ms idle=1363.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:28.304 [debug] QUERY OK source="settings" db=0.0ms idle=1363.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:28.304 [debug] QUERY OK source="settings" db=0.0ms idle=502.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:28.305 [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 [] 06:01:28.305 [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 [] 06:01:28.306 [info] Sent 200 in 3ms 06:01:33.315 [info] GET /sources/55/media/2786833/edit 06:01:33.315 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2786833", "source_id" => "55"} Pipelines: [:browser] 06:01:33.315 [debug] QUERY OK source="media_items" db=0.1ms idle=1374.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" = ?) [2786833] 06:01:33.316 [debug] QUERY OK source="settings" db=0.0ms idle=1375.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:33.316 [debug] QUERY OK source="settings" db=0.0ms idle=1375.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:33.316 [debug] QUERY OK source="settings" db=0.0ms idle=1375.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:33.317 [info] Sent 200 in 1ms 06:01:38.312 [info] GET /sources/55/media/2786833 06:01:38.312 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2786833", "source_id" => "55"} Pipelines: [:browser] 06:01:38.313 [debug] QUERY OK source="media_items" db=0.1ms idle=1372.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" = ?) [2786833] 06:01:38.313 [debug] QUERY OK source="tasks" db=0.2ms idle=1372.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2786833] 06:01:38.313 [debug] QUERY OK source="sources" db=0.2ms idle=1372.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:01:38.314 [debug] QUERY OK source="settings" db=0.0ms idle=1373.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:38.314 [debug] QUERY OK source="settings" db=0.0ms idle=499.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:38.314 [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 [] 06:01:38.315 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:01:38.315 [info] Sent 200 in 3ms 06:01:43.318 [info] GET /sources/new 06:01:43.318 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "55"} Pipelines: [:browser] 06:01:43.318 [debug] QUERY OK source="sources" db=0.1ms idle=1377.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:01:43.319 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1377.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" [] 06:01:43.319 [debug] QUERY OK source="settings" db=0.1ms idle=1378.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:43.319 [debug] QUERY OK source="settings" db=0.0ms idle=1378.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:43.319 [debug] QUERY OK source="settings" db=0.0ms idle=498.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:43.320 [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 [] 06:01:43.320 [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 [] 06:01:43.321 [info] Sent 200 in 3ms 06:01:48.316 [info] GET /sources/57/media/2343210/edit 06:01:48.316 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2343210", "source_id" => "57"} Pipelines: [:browser] 06:01:48.317 [debug] QUERY OK source="media_items" db=0.2ms idle=1376.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" = ?) [2343210] 06:01:48.317 [debug] QUERY OK source="settings" db=0.1ms idle=1376.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:48.318 [debug] QUERY OK source="settings" db=0.0ms idle=1376.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:48.318 [debug] QUERY OK source="settings" db=0.0ms idle=1377.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:48.318 [info] Sent 200 in 2ms 06:01:51.613 [info] {"source":"oban","duration":7671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:53.319 [info] GET /sources/new 06:01:53.319 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "30"} Pipelines: [:browser] 06:01:53.320 [debug] QUERY OK source="sources" db=0.2ms idle=1379.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:01:53.320 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1379.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" [] 06:01:53.320 [debug] QUERY OK source="settings" db=0.1ms idle=1379.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:53.321 [debug] QUERY OK source="settings" db=0.0ms idle=487.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:53.321 [debug] QUERY OK source="settings" db=0.1ms idle=380.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:53.321 [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 [] 06:01:53.322 [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 [] 06:01:53.323 [info] Sent 200 in 4ms 06:01:58.318 [info] GET /sources/38/media/1850728/edit 06:01:58.318 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1850728", "source_id" => "38"} Pipelines: [:browser] 06:01:58.318 [debug] QUERY OK source="media_items" db=0.1ms idle=1377.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" = ?) [1850728] 06:01:58.319 [debug] QUERY OK source="settings" db=0.0ms idle=1378.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:58.319 [debug] QUERY OK source="settings" db=0.0ms idle=1378.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:58.319 [debug] QUERY OK source="settings" db=0.1ms idle=1378.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:01:58.320 [info] Sent 200 in 2ms 06:02:00.960 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:02:03.320 [info] GET /sources/32/media/1227395/edit 06:02:03.320 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227395", "source_id" => "32"} Pipelines: [:browser] 06:02:03.320 [debug] QUERY OK source="media_items" db=0.1ms idle=1379.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" = ?) [1227395] 06:02:03.321 [debug] QUERY OK source="settings" db=0.0ms idle=1380.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:03.321 [debug] QUERY OK source="settings" db=0.0ms idle=1380.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:03.321 [debug] QUERY OK source="settings" db=0.1ms idle=478.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:03.322 [info] Sent 200 in 2ms 06:02:08.322 [info] GET /sources/57/media/2343210 06:02:08.322 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2343210", "source_id" => "57"} Pipelines: [:browser] 06:02:08.322 [debug] QUERY OK source="media_items" db=0.1ms idle=1381.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" = ?) [2343210] 06:02:08.323 [debug] QUERY OK source="tasks" db=0.1ms idle=1382.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2343210] 06:02:08.323 [debug] QUERY OK source="sources" db=0.1ms idle=1382.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:02:08.323 [debug] QUERY OK source="settings" db=0.0ms idle=1382.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:08.323 [debug] QUERY OK source="settings" db=0.0ms idle=474.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:08.324 [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 [] 06:02:08.324 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:02:08.325 [info] Sent 200 in 3ms 06:02:13.324 [info] GET /sources/43/media/2790678/edit 06:02:13.324 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2790678", "source_id" => "43"} Pipelines: [:browser] 06:02:13.325 [debug] QUERY OK source="media_items" db=0.2ms idle=1383.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" = ?) [2790678] 06:02:13.325 [debug] QUERY OK source="settings" db=0.1ms idle=1384.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:13.325 [debug] QUERY OK source="settings" db=0.0ms idle=1384.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:13.326 [debug] QUERY OK source="settings" db=0.0ms idle=1384.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:13.326 [info] Sent 200 in 2ms 06:02:20.867 [info] {"args":{"id":1227412},"id":406074,"meta":{},"system_time":1782730940867624258,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":19,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:02:20.868 [debug] QUERY OK source="media_items" db=0.2ms idle=1926.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" = ?) [1227412] 06:02:20.868 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:02:20.869 [debug] QUERY OK source="sources" db=0.9ms idle=1927.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:02:20.870 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1008.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:02:20.872 [debug] QUERY OK source="media_items" db=1.8ms 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 [1227412] 06:02:20.872 [debug] QUERY OK source="media_metadata" db=0.0ms idle=5.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" = ?) [1227412] 06:02:20.873 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 06:02:20.873 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02:20.873 [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 [] 06:02:20.873 [debug] Running yt-dlp command for action: get_downloadable_status 06:02:20.874 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:02: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 [] 06:02: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 [] 06:02:20.874 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c9p827Y0YHE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/04/50/0450d2cd601902ecc294482bc556c8e6e341af79776c2830a27e16183c4ff6d6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:02:21.622 [info] {"source":"oban","duration":8192,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:22.569 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=c9p827Y0YHE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/04/50/0450d2cd601902ecc294482bc556c8e6e341af79776c2830a27e16183c4ff6d6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] c9p827Y0YHE: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:02:22.569 [error] yt-dlp download error for media item #1227412: "ERROR: [youtube] c9p827Y0YHE: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:02:22.569 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1227412},"id":406074,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1701683,"event":"job:exception","queue_time":698540,"attempt":19,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:02:51.630 [info] {"source":"oban","duration":7920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:00.961 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:03:21.638 [info] {"source":"oban","duration":6076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:03:30.964 [info] {"args":{"id":51},"id":419688,"meta":{},"system_time":1782731010963978536,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:03:30.964 [debug] QUERY OK source="sources" db=0.2ms idle=23.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:03:30.964 [debug] QUERY OK source="settings" db=0.1ms idle=23.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:30.965 [debug] QUERY OK source="media_profiles" db=0.1ms idle=23.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:03:30.965 [debug] QUERY OK source="settings" db=0.5ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:03:30.965 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 06:03:31.224 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 06:03:31.224 [debug] QUERY OK source="media_items" db=0.5ms idle=260.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 06:03:31.225 [debug] QUERY OK source="media_items" db=0.4ms idle=260.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")))) [51] 06:03:31.226 [debug] QUERY OK source="tasks" db=0.1ms idle=260.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419703, 51, ~U[2026-06-29 11:03:31Z], ~U[2026-06-29 11:03:31Z]] 06:03:31.227 [info] {"args":{"id":51},"id":419688,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":262810,"event":"job:stop","queue_time":970205,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:03:51.646 [info] {"source":"oban","duration":7823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.962 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:04:21.655 [info] {"source":"oban","duration":8040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:51.661 [info] {"source":"oban","duration":5188,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.963 [info] {"source":"oban","duration":144,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:05:14.129 [info] {"args":{"id":52},"id":419702,"meta":{},"system_time":1782731114129778805,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:05:14.130 [debug] QUERY OK source="sources" db=0.5ms idle=1188.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:05:14.130 [debug] QUERY OK source="settings" db=0.1ms idle=1189.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:05:14.131 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1010.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:14.131 [debug] QUERY OK source="settings" db=0.1ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:05:14.131 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 06:05:14.177 [debug] Media ids fetched from RSS: ["HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 06:05:14.178 [debug] QUERY OK source="media_items" db=0.4ms idle=47.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 06:05:14.179 [debug] QUERY OK source="media_items" db=0.6ms idle=47.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")))) [52] 06:05:14.181 [debug] QUERY OK source="tasks" db=0.1ms idle=50.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419704, 1301334, ~U[2026-06-29 11:05:14Z], ~U[2026-06-29 11:05:14Z]] 06:05:14.184 [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" [419705, 1301335, ~U[2026-06-29 11:05:14Z], ~U[2026-06-29 11:05:14Z]] 06:05:14.186 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419706, 1301347, ~U[2026-06-29 11:05:14Z], ~U[2026-06-29 11:05:14Z]] 06:05:14.188 [info] {"args":{"id":1301334},"id":419704,"meta":{},"system_time":1782731114188113682,"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"]} 06:05:14.188 [info] {"args":{"id":1301335},"id":419705,"meta":{},"system_time":1782731114188159041,"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"]} 06:05:14.188 [debug] QUERY OK source="media_items" db=0.5ms 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" = ?) [1301335] 06:05:14.189 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:05:14.189 [debug] QUERY OK source="media_items" db=0.7ms 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" = ?) [1301334] 06:05:14.189 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:05:14.189 [debug] QUERY OK source="sources" db=0.4ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:05:14.189 [debug] QUERY OK source="sources" db=0.4ms idle=1.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:05:14.190 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:14.190 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 06:05:14.190 [debug] QUERY OK source="media_items" db=0.5ms 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 [1301335] 06:05:14.190 [debug] QUERY OK source="media_items" db=0.2ms idle=0.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 [1301334] 06:05:14.191 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301335] 06:05:14.191 [debug] QUERY OK source="tasks" db=0.2ms idle=0.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419707, 1301392, ~U[2026-06-29 11:05:14Z], ~U[2026-06-29 11:05:14Z]] 06:05:14.191 [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] 06:05:14.192 [debug] QUERY OK source="settings" db=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:05:14.192 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301334] 06:05:14.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 [] 06:05:14.192 [debug] Running yt-dlp command for action: get_downloadable_status 06:05:14.192 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:14.193 [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 [] 06:05:14.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 [] 06:05:14.194 [debug] Running yt-dlp command for action: get_downloadable_status 06:05:14.194 [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 [] 06:05:14.194 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:05:14.195 [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 [] 06:05:14.195 [debug] QUERY OK source="tasks" db=0.3ms idle=1.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419708, 1301393, ~U[2026-06-29 11:05:14Z], ~U[2026-06-29 11:05:14Z]] 06:05:14.195 [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 [] 06:05:14.195 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6b/38/6b388f619f78d7976fbe7e119d6a0e4845a91b1b05527a0100bb9e69949c7cda.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:05:14.195 [debug] QUERY OK source="settings" db=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:05:14.195 [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 [] 06:05:14.195 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/30/02/3002e2a3d0680565ac5aa195aa6faf091654f9b1700d4c9b7449927bdc465d14.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:05:14.197 [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" [419709, 1301394, ~U[2026-06-29 11:05:14Z], ~U[2026-06-29 11:05:14Z]] 06:05:14.199 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419710, 1301395, ~U[2026-06-29 11:05:14Z], ~U[2026-06-29 11:05:14Z]] 06:05:14.202 [debug] QUERY OK source="tasks" db=0.1ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419711, 1301397, ~U[2026-06-29 11:05:14Z], ~U[2026-06-29 11:05:14Z]] 06:05:14.205 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419712, 1301398, ~U[2026-06-29 11:05:14Z], ~U[2026-06-29 11:05:14Z]] 06:05:14.207 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419713, 1301399, ~U[2026-06-29 11:05:14Z], ~U[2026-06-29 11:05:14Z]] 06:05:14.210 [debug] QUERY OK source="tasks" db=0.2ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419714, 1301400, ~U[2026-06-29 11:05:14Z], ~U[2026-06-29 11:05:14Z]] 06:05:14.212 [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" [419715, 2720968, ~U[2026-06-29 11:05:14Z], ~U[2026-06-29 11:05:14Z]] 06:05:14.213 [debug] QUERY OK source="tasks" db=0.2ms idle=1.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419716, 52, ~U[2026-06-29 11:05:14Z], ~U[2026-06-29 11:05:14Z]] 06:05:14.213 [info] {"args":{"id":52},"id":419702,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":83761,"event":"job:stop","queue_time":629626,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:05:15.984 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/30/02/3002e2a3d0680565ac5aa195aa6faf091654f9b1700d4c9b7449927bdc465d14.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:05:15.985 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:15.985 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:15.985 [info] {"args":{"id":1301334},"id":419704,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1797157,"event":"job:stop","queue_time":186885,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:05:15.992 [info] {"args":{"id":1301347},"id":419706,"meta":{},"system_time":1782731115991941515,"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"]} 06:05:15.992 [debug] QUERY OK source="media_items" db=0.2ms idle=51.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" = ?) [1301347] 06:05:15.992 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:05:15.993 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [52] 06:05:15.993 [debug] QUERY OK source="media_profiles" db=0.1ms idle=52.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:15.993 [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 [1301347] 06:05:15.994 [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" = ?) [1301347] 06:05:15.994 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 06:05:15.995 [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 [] 06:05:15.995 [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 [] 06:05:15.995 [debug] Running yt-dlp command for action: get_downloadable_status 06:05:15.997 [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 [] 06:05:15.997 [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 [] 06:05:15.997 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:05:15.997 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/34/95/3495a3f3c97c763298be6f44060bf834c331229c8d98145faf8ca1ab46378aea.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:05:16.169 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6b/38/6b388f619f78d7976fbe7e119d6a0e4845a91b1b05527a0100bb9e69949c7cda.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:05:16.169 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:16.169 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:16.170 [info] {"args":{"id":1301335},"id":419705,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1981557,"event":"job:stop","queue_time":186885,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:05:16.176 [info] {"args":{"id":1301392},"id":419707,"meta":{},"system_time":1782731116176775613,"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"]} 06:05:16.177 [debug] QUERY OK source="media_items" db=0.2ms idle=179.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301392] 06:05:16.177 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:05:16.177 [debug] QUERY OK source="sources" db=0.1ms idle=180.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:05:16.178 [debug] QUERY OK source="media_profiles" db=0.1ms idle=52.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:16.178 [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 [1301392] 06:05:16.181 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.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" = ?) [1301392] 06:05:16.181 [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] 06:05:16.181 [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 [] 06:05:16.181 [debug] QUERY OK source="settings" db=0.0ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:05:16.182 [debug] Running yt-dlp command for action: get_downloadable_status 06:05:16.183 [debug] QUERY OK source="settings" db=0.0ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:05:16.183 [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 [] 06:05:16.183 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:05:16.183 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5c/13/5c1325a5462c7538958b200a8f25ffd4c65fc4769b7b66edb367215eb1031216.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:05:17.773 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/34/95/3495a3f3c97c763298be6f44060bf834c331229c8d98145faf8ca1ab46378aea.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:05:17.774 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:17.774 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:17.774 [info] {"args":{"id":1301347},"id":419706,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1782202,"event":"job:stop","queue_time":1990898,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:05:17.780 [info] {"args":{"id":1301393},"id":419708,"meta":{},"system_time":1782731117780507997,"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"]} 06:05:17.780 [debug] QUERY OK source="media_items" db=0.1ms idle=1597.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" = ?) [1301393] 06:05:17.781 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:05:17.781 [debug] QUERY OK source="sources" db=0.1ms idle=1597.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:05:17.781 [debug] QUERY OK source="media_profiles" db=0.1ms idle=654.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:17.782 [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 [1301393] 06:05:17.783 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301393] 06:05:17.783 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:17.783 [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 [] 06:05:17.784 [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 [] 06:05:17.784 [debug] Running yt-dlp command for action: get_downloadable_status 06:05:17.785 [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 [] 06:05:17.785 [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 [] 06:05:17.785 [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 [] 06:05:17.785 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/16/dd/16ddc1e1d888bcadb4492f377cd96d3301c583ecd27b35a4b9407f3898ee704b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:05:17.953 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5c/13/5c1325a5462c7538958b200a8f25ffd4c65fc4769b7b66edb367215eb1031216.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:05:17.953 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:17.953 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:17.953 [info] {"args":{"id":1301392},"id":419707,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1776480,"event":"job:stop","queue_time":2175913,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:05:17.959 [info] {"args":{"id":1301394},"id":419709,"meta":{},"system_time":1782731117959431563,"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"]} 06:05:17.959 [debug] QUERY OK source="media_items" db=0.1ms idle=174.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" = ?) [1301394] 06:05:17.959 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:05:17.960 [debug] QUERY OK source="sources" db=0.1ms idle=174.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:05:17.960 [debug] QUERY OK source="media_profiles" db=0.1ms idle=174.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:17.960 [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 [1301394] 06:05:17.961 [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" = ?) [1301394] 06:05:17.962 [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] 06:05:17.962 [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 [] 06:05:17.962 [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 [] 06:05:17.962 [debug] Running yt-dlp command for action: get_downloadable_status 06:05:17.963 [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 [] 06:05:17.963 [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 [] 06:05:17.963 [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 [] 06:05:17.964 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/76/53/76535df4f79e88c016c920d8bc244590ff818c3419a720cb1263fd3e23c8d201.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:05:19.667 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/16/dd/16ddc1e1d888bcadb4492f377cd96d3301c583ecd27b35a4b9407f3898ee704b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:05:19.668 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:19.668 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:19.668 [info] {"args":{"id":1301393},"id":419708,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1887736,"event":"job:stop","queue_time":3779893,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:05:19.674 [info] {"args":{"id":1301395},"id":419710,"meta":{},"system_time":1782731119674710435,"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"]} 06:05:19.675 [debug] QUERY OK source="media_items" db=0.1ms idle=1710.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" = ?) [1301395] 06:05:19.675 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:05:19.675 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:05:19.675 [debug] QUERY OK source="media_profiles" db=0.1ms idle=544.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:19.676 [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 [1301395] 06:05:19.677 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301395] 06:05:19.677 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 06:05:19.678 [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 [] 06:05:19.678 [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 [] 06:05:19.678 [debug] Running yt-dlp command for action: get_downloadable_status 06:05:19.679 [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 [] 06:05:19.679 [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 [] 06:05:19.679 [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 [] 06:05:19.679 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/54/39/5439ed9310fa31a1d84718984cc9023e36daeac5a8d7a9036c0153a8519be99f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:05:19.707 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/76/53/76535df4f79e88c016c920d8bc244590ff818c3419a720cb1263fd3e23c8d201.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:05:19.707 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:19.707 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:19.707 [info] {"args":{"id":1301394},"id":419709,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1748226,"event":"job:stop","queue_time":3958891,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:05:19.714 [info] {"args":{"id":1301397},"id":419711,"meta":{},"system_time":1782731119714683855,"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"]} 06:05:19.715 [debug] QUERY OK source="media_items" db=0.1ms idle=35.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301397] 06:05:19.715 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:05:19.715 [debug] QUERY OK source="sources" db=0.2ms idle=36.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:05:19.715 [debug] QUERY OK source="media_profiles" db=0.1ms idle=36.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:19.716 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301397] 06:05:19.717 [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" = ?) [1301397] 06:05:19.717 [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] 06:05:19.717 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:05:19.717 [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 [] 06:05:19.718 [debug] Running yt-dlp command for action: get_downloadable_status 06:05:19.718 [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 [] 06:05:19.718 [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 [] 06:05:19.719 [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 [] 06:05:19.719 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a5/36/a536ba754d059aa44cf980f2bc9ff8bfbfd762ebfee254d95c48ce66c6ddd7ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:05:21.331 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a5/36/a536ba754d059aa44cf980f2bc9ff8bfbfd762ebfee254d95c48ce66c6ddd7ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:05:21.332 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:21.332 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:21.332 [info] {"args":{"id":1301397},"id":419711,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1617539,"event":"job:stop","queue_time":5713902,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:05:21.338 [info] {"args":{"id":1301398},"id":419712,"meta":{},"system_time":1782731121338668987,"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"]} 06:05:21.339 [debug] QUERY OK source="media_items" db=0.1ms idle=397.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" = ?) [1301398] 06:05:21.339 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:05:21.339 [debug] QUERY OK source="sources" db=0.2ms idle=397.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:05:21.339 [debug] QUERY OK source="media_profiles" db=0.1ms idle=205.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:21.340 [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 [1301398] 06:05:21.341 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301398] 06:05:21.341 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:21.342 [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 [] 06:05:21.342 [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 [] 06:05:21.342 [debug] Running yt-dlp command for action: get_downloadable_status 06:05:21.344 [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 [] 06:05:21.344 [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 [] 06:05:21.344 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:05:21.344 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/cc/f3cc7b6c10dd562235460c3072621c8de7ba5773b080c8102abfb5ef264e1a8f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:05:21.431 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/54/39/5439ed9310fa31a1d84718984cc9023e36daeac5a8d7a9036c0153a8519be99f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:05:21.431 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:21.431 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:21.432 [info] {"args":{"id":1301395},"id":419710,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1757232,"event":"job:stop","queue_time":5673917,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:05:21.438 [info] {"args":{"id":1301399},"id":419713,"meta":{},"system_time":1782731121438497459,"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"]} 06:05:21.438 [debug] QUERY OK source="media_items" db=0.1ms idle=94.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" = ?) [1301399] 06:05:21.439 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:05:21.439 [debug] QUERY OK source="sources" db=0.1ms idle=94.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:05:21.439 [debug] QUERY OK source="media_profiles" db=0.1ms idle=94.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:21.440 [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 [1301399] 06:05:21.441 [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" = ?) [1301399] 06:05:21.441 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:21.441 [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 [] 06:05:21.441 [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 [] 06:05:21.442 [debug] Running yt-dlp command for action: get_downloadable_status 06:05:21.442 [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 [] 06:05:21.442 [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 [] 06:05:21.443 [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 [] 06:05:21.443 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ef/5b/ef5bf142171b8c6d19c8e460746ab30e34a8de090171dd1803b34f4ce0a111b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:05:21.670 [info] {"source":"oban","duration":8077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:23.100 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/cc/f3cc7b6c10dd562235460c3072621c8de7ba5773b080c8102abfb5ef264e1a8f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:05:23.100 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:23.100 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:23.101 [info] {"args":{"id":1301398},"id":419712,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1761841,"event":"job:stop","queue_time":7337910,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:05:23.107 [info] {"args":{"id":1301400},"id":419714,"meta":{},"system_time":1782731123107679882,"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"]} 06:05:23.108 [debug] QUERY OK source="media_items" db=0.1ms idle=166.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" = ?) [1301400] 06:05:23.108 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:05:23.108 [debug] QUERY OK source="sources" db=0.1ms idle=167.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:05:23.109 [debug] QUERY OK source="media_profiles" db=0.5ms idle=167.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:23.109 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301400] 06:05:23.111 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301400] 06:05:23.111 [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] 06:05:23.111 [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 [] 06:05:23.112 [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 [] 06:05:23.112 [debug] Running yt-dlp command for action: get_downloadable_status 06:05:23.112 [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 [] 06:05:23.113 [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 [] 06:05:23.113 [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 [] 06:05:23.113 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/5d/e85d61f4ac451c54515c2be242a4244fd30cb03239c71b28e8f854e4580c6eaf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:05:23.189 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ef/5b/ef5bf142171b8c6d19c8e460746ab30e34a8de090171dd1803b34f4ce0a111b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:05:23.189 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:23.189 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:23.190 [info] {"args":{"id":1301399},"id":419713,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1751229,"event":"job:stop","queue_time":7437956,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:05:23.196 [info] {"args":{"id":2720968},"id":419715,"meta":{},"system_time":1782731123196551499,"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"]} 06:05:23.196 [debug] QUERY OK source="media_items" db=0.1ms idle=83.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" = ?) [2720968] 06:05:23.197 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:05:23.197 [debug] QUERY OK source="sources" db=0.1ms idle=83.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:05:23.197 [debug] QUERY OK source="media_profiles" db=0.1ms idle=60.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:05:23.198 [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 [2720968] 06:05:23.200 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [2720968] 06:05:23.200 [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] 06:05:23.201 [debug] QUERY OK source="settings" db=0.0ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:05:23.201 [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 [] 06:05:23.201 [debug] Running yt-dlp command for action: get_downloadable_status 06:05:23.202 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:05:23.202 [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 [] 06:05:23.202 [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 [] 06:05:23.202 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/71/89/7189f643d8f8d9479509692d993e5f4bdad0ba86c1232261e95ec3d652258ec9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:05:24.831 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/71/89/7189f643d8f8d9479509692d993e5f4bdad0ba86c1232261e95ec3d652258ec9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:05:24.831 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:24.831 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:24.831 [info] {"args":{"id":2720968},"id":419715,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1634778,"event":"job:stop","queue_time":9195943,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:05:24.960 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/5d/e85d61f4ac451c54515c2be242a4244fd30cb03239c71b28e8f854e4580c6eaf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:05:24.960 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:24.960 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:05:24.961 [info] {"args":{"id":1301400},"id":419714,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1853254,"event":"job:stop","queue_time":9106964,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:05:51.678 [info] {"source":"oban","duration":7803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.964 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:06:15.229 [info] {"args":{"id":30},"id":419667,"meta":{},"system_time":1782731175229507515,"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"]} 06:06:15.230 [debug] QUERY OK source="sources" db=0.6ms idle=288.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:15.230 [debug] QUERY OK source="settings" db=0.1ms idle=289.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:06:15.235 [debug] QUERY OK source="media_items" db=4.4ms idle=289.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")))) [30] 06:06:15.235 [debug] QUERY OK source="media_items" db=0.3ms idle=11.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 06:06:15.236 [debug] QUERY OK source="media_profiles" db=0.0ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:06:15.236 [debug] QUERY OK source="settings" db=0.0ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:06:15.236 [debug] QUERY OK source="settings" db=0.0ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:06:15.241 [debug] QUERY OK source="media_items" db=3.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 [30] 06:06:15.243 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 06:06:15.243 [debug] Current batch of media processed. Will check again in 1000ms 06:06:15.243 [debug] QUERY OK source="settings" db=0.0ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:06:15.243 [debug] QUERY OK source="settings" db=0.0ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:06:15.243 [debug] QUERY OK source="settings" db=0.0ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:06:15.244 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCld68syR8Wi-GY_n4CaoJGA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/24/fc/24fc104eddd49964be43814e26c83ef5b55c3e25548a9770626f07c618cfe118.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/3c/e4/3ce480e3d2085e3ffdaa80a5974fd3e157ffb5ccd0bc42a0c4faaae2f7861d79.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:06:16.244 [debug] Current batch of media processed. Will check again in 1000ms 06:06:17.245 [debug] Current batch of media processed. Will check again in 1000ms 06:06:18.246 [debug] Current batch of media processed. Will check again in 1000ms 06:06:19.247 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1191, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", "id" => "3PzEmiSDgd0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3PzEmiSDgd0", "playlist_index" => 1, "timestamp" => 1782667801, "title" => "I tried installing Steam OS", "upload_date" => "20260628"} 06:06:19.247 [debug] QUERY OK source="sources" db=0.2ms idle=306.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:19.248 [debug] QUERY OK source="sources" db=0.1ms idle=306.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:19.252 [debug] QUERY OK source="media_items" db=4.4ms idle=307.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 17:30:01Z], 30] 06:06:19.254 [debug] QUERY OK source="media_items" db=1.1ms idle=311.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "1c9184f3-e55c-4fc1-95fa-527eec76766b", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, false, false, 30, [], 98, ~U[2026-06-28 17:30:01Z], ~U[2026-06-29 11:06:19Z], ~U[2026-06-29 11:06:19Z], "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, 30, ~U[2026-06-28 17:30:01Z]] 06:06:19.254 [debug] QUERY OK source="sources" db=0.6ms idle=25.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:19.255 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:06:19.255 [debug] QUERY OK source="media_items" db=0.1ms 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 [3305566] 06:06:19.255 [debug] Current batch of media processed. Will check again in 1000ms 06:06:20.256 [debug] Current batch of media processed. Will check again in 1000ms 06:06:21.257 [debug] Current batch of media processed. Will check again in 1000ms 06:06:21.687 [info] {"source":"oban","duration":7846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:06:22.258 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1364, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", "id" => "C7rXBdgObno", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=C7rXBdgObno", "playlist_index" => 2, "timestamp" => 1782581435, "title" => "I'm In Love With KDE Plasma's New Theme", "upload_date" => "20260627"} 06:06:22.258 [debug] QUERY OK source="sources" db=0.2ms idle=1317.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:22.258 [debug] QUERY OK source="sources" db=0.1ms idle=1317.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:22.265 [debug] QUERY OK source="media_items" db=6.7ms idle=1025.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-27 17:30:35Z], 30] 06:06:22.267 [debug] QUERY OK source="media_items" db=1.0ms idle=578.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "9e9e7a93-2068-4084-993a-3c9c1fb05e6c", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, false, false, 30, [], 98, ~U[2026-06-27 17:30:35Z], ~U[2026-06-29 11:06:22Z], ~U[2026-06-29 11:06:22Z], "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, 30, ~U[2026-06-27 17:30:35Z]] 06:06:22.267 [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" = ?) [30] 06:06:22.268 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:06:22.268 [debug] QUERY OK source="media_items" db=0.2ms idle=9.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 [3297662] 06:06:22.268 [debug] Current batch of media processed. Will check again in 1000ms 06:06:23.269 [debug] Current batch of media processed. Will check again in 1000ms 06:06:24.270 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1187, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", "id" => "iWcFXmnPYoQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "playlist_index" => 3, "timestamp" => 1782322215, "title" => "I was wrong about SteamOS", "upload_date" => "20260624"} 06:06:24.270 [debug] QUERY OK source="sources" db=0.2ms idle=329.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:24.270 [debug] QUERY OK source="sources" db=0.1ms idle=329.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:24.275 [debug] QUERY OK source="media_items" db=4.7ms idle=329.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-24 17:30:15Z], 30] 06:06:24.277 [debug] QUERY OK source="media_items" db=1.0ms idle=334.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "6b1a51d7-09ab-405d-a533-721aa939b4a5", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, false, false, 30, [], 98, ~U[2026-06-24 17:30:15Z], ~U[2026-06-29 11:06:24Z], ~U[2026-06-29 11:06:24Z], "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, 30, ~U[2026-06-24 17:30:15Z]] 06:06:24.277 [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" = ?) [30] 06:06:24.278 [debug] QUERY OK source="media_profiles" db=0.5ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:06:24.278 [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 [3274030] 06:06:24.278 [debug] Current batch of media processed. Will check again in 1000ms 06:06:25.279 [debug] Current batch of media processed. Will check again in 1000ms 06:06:26.280 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1559, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", "id" => "wPXqhfgTV9M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wPXqhfgTV9M", "playlist_index" => 4, "timestamp" => 1782235809, "title" => "Stack Overflow Is Having An Existential Crisis", "upload_date" => "20260623"} 06:06:26.281 [debug] QUERY OK source="sources" db=0.1ms idle=340.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:26.281 [debug] QUERY OK source="sources" db=0.0ms idle=340.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:26.286 [debug] QUERY OK source="media_items" db=4.4ms idle=340.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-23 17:30:09Z], 30] 06:06:26.287 [debug] QUERY OK source="media_items" db=0.9ms idle=345.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "2e951034-a9df-4823-ac25-8d682d6cb2e5", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, false, false, 30, [], 98, ~U[2026-06-23 17:30:09Z], ~U[2026-06-29 11:06:26Z], ~U[2026-06-29 11:06:26Z], "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, 30, ~U[2026-06-23 17:30:09Z]] 06:06:26.287 [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" = ?) [30] 06:06:26.287 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:06:26.288 [debug] QUERY OK source="media_items" db=0.1ms 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 [3266154] 06:06:26.288 [debug] Current batch of media processed. Will check again in 1000ms 06:06:27.289 [debug] Current batch of media processed. Will check again in 1000ms 06:06:28.290 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1169, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", "id" => "xe75b6OSR90", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xe75b6OSR90", "playlist_index" => 5, "timestamp" => 1782149404, "title" => "X11 Will Completely End Without Your Help", "upload_date" => "20260622"} 06:06:28.291 [debug] QUERY OK source="sources" db=0.1ms idle=349.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:28.291 [debug] QUERY OK source="sources" db=0.1ms idle=350.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:28.296 [debug] QUERY OK source="media_items" db=4.4ms idle=350.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-22 17:30:04Z], 30] 06:06:28.297 [debug] QUERY OK source="media_items" db=0.8ms idle=355.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "e6869108-ef9b-4e7f-bfa9-26dfe4823df2", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-06-22 17:30:04Z], ~U[2026-06-29 11:06:28Z], ~U[2026-06-29 11:06:28Z], "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, 30, ~U[2026-06-22 17:30:04Z]] 06:06:28.297 [debug] QUERY OK source="sources" db=0.1ms idle=51.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:28.298 [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] 06:06:28.298 [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 [3258286] 06:06:28.298 [debug] Current batch of media processed. Will check again in 1000ms 06:06:29.299 [debug] Current batch of media processed. Will check again in 1000ms 06:06:30.300 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1122, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", "id" => "uswAKkgmllA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uswAKkgmllA", "playlist_index" => 6, "timestamp" => 1782063038, "title" => "The Weird World Of Alternate Root DNS", "upload_date" => "20260621"} 06:06:30.300 [debug] QUERY OK source="sources" db=0.1ms idle=359.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:30.300 [debug] QUERY OK source="sources" db=0.1ms idle=359.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:30.305 [debug] QUERY OK source="media_items" db=4.4ms idle=359.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-21 17:30:38Z], 30] 06:06:30.306 [debug] QUERY OK source="media_items" db=1.0ms idle=364.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "05afbff1-2c56-4206-8da6-3fe731f23904", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, false, false, 30, [], 98, ~U[2026-06-21 17:30:38Z], ~U[2026-06-29 11:06:30Z], ~U[2026-06-29 11:06:30Z], "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, 30, ~U[2026-06-21 17:30:38Z]] 06:06:30.307 [debug] QUERY OK source="sources" db=0.1ms idle=57.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:06:30.307 [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] 06:06:30.307 [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 [3250444] 06:06:30.307 [debug] Current batch of media processed. Will check again in 1000ms 06:06:31.309 [debug] Current batch of media processed. Will check again in 1000ms 06:06:32.310 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1488, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", "id" => "VR20JYYXH6Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VR20JYYXH6Q", "playlist_index" => 7, "timestamp" => 1781976608, "title" => "Stay Safe On The AUR In The Face Of Arch Linux Malware", "upload_date" => "20260620"} 06:06:32.310 [debug] QUERY OK source="sources" db=0.2ms idle=369.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:32.310 [debug] QUERY OK source="sources" db=0.1ms idle=369.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:32.315 [debug] QUERY OK source="media_items" db=4.6ms idle=369.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-20 17:30:08Z], 30] 06:06:32.317 [debug] QUERY OK source="media_items" db=0.9ms idle=374.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "6b4c63bd-19ea-4df7-85ec-9fd9e9c4cd8b", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, false, false, 30, [], 98, ~U[2026-06-20 17:30:08Z], ~U[2026-06-29 11:06:32Z], ~U[2026-06-29 11:06:32Z], "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, 30, ~U[2026-06-20 17:30:08Z]] 06:06:32.317 [debug] QUERY OK source="sources" db=0.2ms idle=64.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:06:32.317 [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] 06:06:32.318 [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 [3242381] 06:06:32.318 [debug] Current batch of media processed. Will check again in 1000ms 06:06:33.319 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1090, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", "id" => "d7MTYqID8VY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d7MTYqID8VY", "playlist_index" => 8, "timestamp" => 1781803802, "title" => "Tridge Responds To The Claimed Rsync AI Caused Regressions", "upload_date" => "20260618"} 06:06:33.319 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [30] 06:06:33.320 [debug] QUERY OK source="sources" db=0.0ms 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" = ?) [30] 06:06:33.325 [debug] QUERY OK source="media_items" db=4.6ms idle=1002.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-18 17:30:02Z], 30] 06:06:33.326 [debug] QUERY OK source="media_items" db=0.8ms idle=1007.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "5a2811ff-283d-4924-92e9-e5c1cea47787", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, false, false, 30, [], 98, ~U[2026-06-18 17:30:02Z], ~U[2026-06-29 11:06:33Z], ~U[2026-06-29 11:06:33Z], "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, 30, ~U[2026-06-18 17:30:02Z]] 06:06:33.326 [debug] QUERY OK source="sources" db=0.1ms idle=72.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:06:33.326 [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] 06:06:33.327 [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 [3226631] 06:06:33.327 [debug] Current batch of media processed. Will check again in 1000ms 06:06:34.328 [debug] Current batch of media processed. Will check again in 1000ms 06:06:35.329 [debug] Current batch of media processed. Will check again in 1000ms 06:06:36.330 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1081, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", "id" => "tgyxIC3J8cs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tgyxIC3J8cs", "playlist_index" => 9, "timestamp" => 1781717431, "title" => "KDE Plasma 6.7 Has Finally Come", "upload_date" => "20260617"} 06:06:36.330 [debug] QUERY OK source="sources" db=0.2ms idle=1389.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:36.331 [debug] QUERY OK source="sources" db=0.1ms idle=1389.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:36.335 [debug] QUERY OK source="media_items" db=4.5ms idle=1390.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-17 17:30:31Z], 30] 06:06:36.337 [debug] QUERY OK source="media_items" db=0.9ms idle=1078.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "e03aa9b4-3cd2-477e-b5c6-6e7bd4e62288", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, false, false, 30, [], 98, ~U[2026-06-17 17:30:31Z], ~U[2026-06-29 11:06:36Z], ~U[2026-06-29 11:06:36Z], "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, 30, ~U[2026-06-17 17:30:31Z]] 06:06:36.337 [debug] QUERY OK source="sources" db=0.1ms idle=78.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:06:36.337 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 06:06:36.338 [debug] QUERY OK source="media_items" db=0.2ms 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 [3218823] 06:06:36.338 [debug] Current batch of media processed. Will check again in 1000ms 06:06:37.339 [debug] Current batch of media processed. Will check again in 1000ms 06:06:38.340 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1130, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", "id" => "VeudOzqpHHs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VeudOzqpHHs", "playlist_index" => 10, "timestamp" => 1781631008, "title" => "The AUR Malware Attack Never Stopped", "upload_date" => "20260616"} 06:06:38.340 [debug] QUERY OK source="sources" db=0.3ms idle=399.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 06:06:38.341 [debug] QUERY OK source="sources" db=0.1ms idle=400.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:38.345 [debug] QUERY OK source="media_items" db=4.4ms idle=400.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 17:30:08Z], 30] 06:06:38.347 [debug] QUERY OK source="media_items" db=1.1ms idle=405.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "18dc1c53-22de-4e90-aeeb-2cec1b9f9062", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, false, false, 30, [], 98, ~U[2026-06-16 17:30:08Z], ~U[2026-06-29 11:06:38Z], ~U[2026-06-29 11:06:38Z], "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, 30, ~U[2026-06-16 17:30:08Z]] 06:06:38.347 [debug] QUERY OK source="sources" db=0.2ms idle=85.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:06:38.348 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:06:38.348 [debug] QUERY OK source="media_items" db=0.1ms 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 [3210881] 06:06:38.348 [debug] Current batch of media processed. Will check again in 1000ms 06:06:39.349 [debug] Current batch of media processed. Will check again in 1000ms 06:06:40.350 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1198, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", "id" => "dFnZyoLXVa4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dFnZyoLXVa4", "playlist_index" => 11, "timestamp" => 1781544603, "title" => "Ladybird Browser Stops Accepting Public Pull Requests", "upload_date" => "20260615"} 06:06:40.351 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=409.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:40.351 [debug] QUERY OK source="sources" db=0.1ms idle=410.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:40.356 [debug] QUERY OK source="media_items" db=4.5ms idle=410.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-15 17:30:03Z], 30] 06:06:40.357 [debug] QUERY OK source="media_items" db=0.9ms idle=415.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "b64b360d-b0fe-4eb9-8dd6-01c7e2de9088", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, false, false, 30, [], 98, ~U[2026-06-15 17:30:03Z], ~U[2026-06-29 11:06:40Z], ~U[2026-06-29 11:06:40Z], "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, 30, ~U[2026-06-15 17:30:03Z]] 06:06:40.357 [debug] QUERY OK source="sources" db=0.1ms idle=92.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:40.358 [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] 06:06:40.358 [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 [3202877] 06:06:40.358 [debug] Current batch of media processed. Will check again in 1000ms 06:06:41.359 [debug] Current batch of media processed. Will check again in 1000ms 06:06:42.360 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 3383, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", "id" => "BBwZs0lxeNk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BBwZs0lxeNk", "playlist_index" => 12, "timestamp" => 1781458202, "title" => "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "upload_date" => "20260614"} 06:06:42.360 [debug] QUERY OK source="sources" db=0.1ms idle=419.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:42.361 [debug] QUERY OK source="sources" db=0.0ms 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" = ?) [30] 06:06:42.366 [debug] QUERY OK source="media_items" db=4.7ms idle=420.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-14 17:30:02Z], 30] 06:06:42.367 [debug] QUERY OK source="media_items" db=1.0ms idle=425.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "9937d35d-6951-4f46-8e99-7e31e73e5bf1", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, false, false, 30, [], 98, ~U[2026-06-14 17:30:02Z], ~U[2026-06-29 11:06:42Z], ~U[2026-06-29 11:06:42Z], "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, 30, ~U[2026-06-14 17:30:02Z]] 06:06:42.367 [debug] QUERY OK source="sources" db=0.2ms idle=98.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:06:42.368 [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] 06:06:42.368 [debug] QUERY OK source="media_items" db=0.1ms 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 [3195147] 06:06:42.368 [debug] Current batch of media processed. Will check again in 1000ms 06:06:43.368 [debug] Current batch of media processed. Will check again in 1000ms 06:06:44.370 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1205, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", "id" => "gXQLC3Sontc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gXQLC3Sontc", "playlist_index" => 13, "timestamp" => 1781371817, "title" => "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "upload_date" => "20260613"} 06:06:44.371 [debug] QUERY OK source="sources" db=0.2ms idle=429.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:44.371 [debug] QUERY OK source="sources" db=0.1ms idle=430.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:44.376 [debug] QUERY OK source="media_items" db=4.6ms idle=430.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 17:30:17Z], 30] 06:06:44.378 [debug] QUERY OK source="media_items" db=1.0ms idle=435.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "db7fa3a6-8c55-44c9-95d5-3e9a0b35501b", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, false, false, 30, [], 98, ~U[2026-06-13 17:30:17Z], ~U[2026-06-29 11:06:44Z], ~U[2026-06-29 11:06:44Z], "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, 30, ~U[2026-06-13 17:30:17Z]] 06:06:44.378 [debug] QUERY OK source="sources" db=0.1ms idle=105.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:06:44.378 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:06:44.379 [debug] QUERY OK source="media_items" db=0.1ms 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 [3187102] 06:06:44.379 [debug] Current batch of media processed. Will check again in 1000ms 06:06:45.380 [debug] Current batch of media processed. Will check again in 1000ms 06:06:46.381 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1221, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", "id" => "WoxR7fGl4CI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WoxR7fGl4CI", "playlist_index" => 14, "timestamp" => 1781285431, "title" => "Massive AUR Malware Attack: DO NOT UPDATE", "upload_date" => "20260612"} 06:06:46.381 [debug] QUERY OK source="sources" db=0.4ms idle=439.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:46.382 [debug] QUERY OK source="sources" db=0.1ms idle=440.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:46.387 [debug] QUERY OK source="media_items" db=4.7ms idle=440.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 17:30:31Z], 30] 06:06:46.391 [debug] QUERY OK source="media_items" db=3.5ms idle=445.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "6f6444f4-7122-4dbf-8572-375e385841bb", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, false, false, 30, [], 98, ~U[2026-06-12 17:30:31Z], ~U[2026-06-29 11:06:46Z], ~U[2026-06-29 11:06:46Z], "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, 30, ~U[2026-06-12 17:30:31Z]] 06:06:46.391 [debug] QUERY OK source="sources" db=0.1ms idle=114.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:06:46.391 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:06:46.392 [debug] QUERY OK source="media_items" db=0.1ms idle=9.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 [3179203] 06:06:46.392 [debug] Current batch of media processed. Will check again in 1000ms 06:06:47.393 [debug] Current batch of media processed. Will check again in 1000ms 06:06:48.394 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 827, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", "id" => "_Axl-_DG5eo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_Axl-_DG5eo", "playlist_index" => 15, "timestamp" => 1781199024, "title" => "Brave Origin Charges You For A Problem Brave Created", "upload_date" => "20260611"} 06:06:48.395 [debug] QUERY OK source="sources" db=0.2ms idle=453.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:48.395 [debug] QUERY OK source="sources" db=0.1ms idle=454.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:48.400 [debug] QUERY OK source="media_items" db=4.4ms idle=454.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-11 17:30:24Z], 30] 06:06:48.401 [debug] QUERY OK source="media_items" db=1.0ms idle=459.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "a69c0314-ac0b-498e-9ebb-04efe7e72213", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, false, false, 30, [], 98, ~U[2026-06-11 17:30:24Z], ~U[2026-06-29 11:06:48Z], ~U[2026-06-29 11:06:48Z], "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, 30, ~U[2026-06-11 17:30:24Z]] 06:06:48.402 [debug] QUERY OK source="sources" db=0.1ms idle=121.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:06:48.402 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 06:06:48.402 [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 [3171302] 06:06:48.403 [debug] Current batch of media processed. Will check again in 1000ms 06:06:49.404 [debug] Current batch of media processed. Will check again in 1000ms 06:06:50.405 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1017, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", "id" => "nwHjVOcUMaw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nwHjVOcUMaw", "playlist_index" => 16, "timestamp" => 1781112612, "title" => "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "upload_date" => "20260610"} 06:06:50.406 [debug] QUERY OK source="sources" db=0.2ms idle=464.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:50.406 [debug] QUERY OK source="sources" db=0.1ms idle=465.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:50.411 [debug] QUERY OK source="media_items" db=4.3ms idle=465.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-10 17:30:12Z], 30] 06:06:50.412 [debug] QUERY OK source="media_items" db=1.0ms idle=470.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "3842bdf9-e6fe-4565-9c7e-e1eb5772c066", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, false, false, 30, [], 98, ~U[2026-06-10 17:30:12Z], ~U[2026-06-29 11:06:50Z], ~U[2026-06-29 11:06:50Z], "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, 30, ~U[2026-06-10 17:30:12Z]] 06:06:50.413 [debug] QUERY OK source="sources" db=0.1ms idle=128.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:06:50.413 [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] 06:06:50.413 [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 [3163522] 06:06:50.413 [debug] Current batch of media processed. Will check again in 1000ms 06:06:51.414 [debug] Current batch of media processed. Will check again in 1000ms 06:06:51.696 [info] {"source":"oban","duration":8352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:52.415 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1331, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", "id" => "36pHSM0mzXE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=36pHSM0mzXE", "playlist_index" => 17, "timestamp" => 1781030838, "title" => "GNOME Board Bans Sonny Piers, He Reveals Everything", "upload_date" => "20260609"} 06:06:52.415 [debug] QUERY OK source="sources" db=0.1ms idle=719.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:52.416 [debug] QUERY OK source="sources" db=0.1ms idle=474.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:52.422 [debug] QUERY OK source="media_items" db=5.6ms idle=474.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 18:47:18Z], 30] 06:06:52.423 [debug] QUERY OK source="media_items" db=1.2ms idle=480.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "f7df1d32-6041-4959-a0c3-68664ae69ecb", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, false, false, 30, [], 98, ~U[2026-06-09 18:47:18Z], ~U[2026-06-29 11:06:52Z], ~U[2026-06-29 11:06:52Z], "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, 30, ~U[2026-06-09 18:47:18Z]] 06:06:52.424 [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" = ?) [30] 06:06:52.424 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 06:06:52.425 [debug] QUERY OK source="media_items" db=0.1ms idle=8.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 [3156119] 06:06:52.425 [debug] Current batch of media processed. Will check again in 1000ms 06:06:53.426 [debug] Current batch of media processed. Will check again in 1000ms 06:06:54.427 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1305, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", "id" => "mawalnYGQkA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mawalnYGQkA", "playlist_index" => 18, "timestamp" => 1780939824, "title" => "Nobody Understands LTS Linux Distros", "upload_date" => "20260608"} 06:06:54.428 [debug] QUERY OK source="sources" db=0.4ms queue=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" IN (?)) [30] 06:06:54.428 [debug] QUERY OK source="sources" db=0.0ms idle=487.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:54.433 [debug] QUERY OK source="media_items" db=4.6ms idle=487.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-08 17:30:24Z], 30] 06:06:54.435 [debug] QUERY OK source="media_items" db=1.1ms idle=492.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "a1dc034d-abdd-4e85-a22f-6e888bfa1bfd", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, false, false, 30, [], 98, ~U[2026-06-08 17:30:24Z], ~U[2026-06-29 11:06:54Z], ~U[2026-06-29 11:06:54Z], "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, 30, ~U[2026-06-08 17:30:24Z]] 06:06:54.435 [debug] QUERY OK source="sources" db=0.2ms idle=142.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:54.435 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:06:54.436 [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 [3147694] 06:06:54.436 [debug] Current batch of media processed. Will check again in 1000ms 06:06:55.437 [debug] Current batch of media processed. Will check again in 1000ms 06:06:56.232 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCld68syR8Wi-GY_n4CaoJGA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/24/fc/24fc104eddd49964be43814e26c83ef5b55c3e25548a9770626f07c618cfe118.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/3c/e4/3ce480e3d2085e3ffdaa80a5974fd3e157ffb5ccd0bc42a0c4faaae2f7861d79.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 06:06:56.233 [debug] Gracefully stopping file follower 06:06:56.233 [debug] QUERY OK source="sources" db=0.2ms idle=938.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:06:56.233 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [30] 06:06:56.238 [debug] QUERY OK source="media_items" db=4.8ms idle=292.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 17:30:01Z], 30] 06:06:56.240 [debug] QUERY OK source="media_items" db=1.1ms idle=297.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "b691cb8f-44f5-48b6-893b-4d93e238278e", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, false, false, 30, [], 98, ~U[2026-06-28 17:30:01Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, 30, ~U[2026-06-28 17:30:01Z]] 06:06:56.240 [debug] QUERY OK source="sources" db=0.1ms idle=299.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:56.245 [debug] QUERY OK source="media_items" db=4.7ms idle=7.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-27 17:30:35Z], 30] 06:06:56.247 [debug] QUERY OK source="media_items" db=1.0ms idle=12.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "79882e8b-6a45-4bd8-9cb3-a0c5367e0cdb", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, false, false, 30, [], 98, ~U[2026-06-27 17:30:35Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, 30, ~U[2026-06-27 17:30:35Z]] 06:06:56.248 [debug] QUERY OK source="sources" db=0.6ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.252 [debug] QUERY OK source="media_items" db=4.7ms idle=7.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-24 17:30:15Z], 30] 06:06:56.254 [debug] QUERY OK source="media_items" db=1.1ms idle=12.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "0d26a54c-639e-49b0-8320-4278ef94cf75", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, false, false, 30, [], 98, ~U[2026-06-24 17:30:15Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, 30, ~U[2026-06-24 17:30:15Z]] 06:06:56.255 [debug] QUERY OK source="sources" db=0.6ms idle=8.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.260 [debug] QUERY OK source="media_items" db=4.6ms idle=8.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-23 17:30:09Z], 30] 06:06:56.261 [debug] QUERY OK source="media_items" db=1.0ms idle=12.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "a33a2634-803a-4e93-9b5b-1788ace5849b", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, false, false, 30, [], 98, ~U[2026-06-23 17:30:09Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, 30, ~U[2026-06-23 17:30:09Z]] 06:06:56.262 [debug] QUERY OK source="sources" db=0.6ms idle=8.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.267 [debug] QUERY OK source="media_items" db=4.6ms idle=8.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-22 17:30:04Z], 30] 06:06:56.282 [debug] QUERY OK source="media_items" db=15.0ms idle=11.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "3532fac1-bd85-4b2b-b2d3-92c1b851386c", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-06-22 17:30:04Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, 30, ~U[2026-06-22 17:30:04Z]] 06:06:56.283 [debug] QUERY OK source="sources" db=0.7ms idle=22.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:56.288 [debug] QUERY OK source="media_items" db=4.5ms idle=22.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-21 17:30:38Z], 30] 06:06:56.293 [debug] QUERY OK source="media_items" db=4.8ms idle=26.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "acf19acf-594b-41a5-bc44-c2b60f0ec147", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, false, false, 30, [], 98, ~U[2026-06-21 17:30:38Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, 30, ~U[2026-06-21 17:30:38Z]] 06:06:56.294 [debug] QUERY OK source="sources" db=0.7ms idle=26.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:06:56.299 [debug] QUERY OK source="media_items" db=4.8ms idle=12.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-20 17:30:08Z], 30] 06:06:56.301 [debug] QUERY OK source="media_items" db=1.4ms idle=11.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "629ac764-cdec-401d-94aa-022539e81597", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, false, false, 30, [], 98, ~U[2026-06-20 17:30:08Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, 30, ~U[2026-06-20 17:30:08Z]] 06:06:56.301 [debug] QUERY OK source="sources" db=0.1ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.306 [debug] QUERY OK source="media_items" db=4.4ms idle=7.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-18 17:30:02Z], 30] 06:06:56.307 [debug] QUERY OK source="media_items" db=1.4ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "c9a9929d-d08e-423c-a90c-50bcb1a99df6", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, false, false, 30, [], 98, ~U[2026-06-18 17:30:02Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, 30, ~U[2026-06-18 17:30:02Z]] 06:06:56.308 [debug] QUERY OK source="sources" db=0.1ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.312 [debug] QUERY OK source="media_items" db=4.3ms idle=7.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-17 17:30:31Z], 30] 06:06:56.314 [debug] QUERY OK source="media_items" db=0.9ms idle=11.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "5082e643-ee58-42e3-b772-d3509cfa251b", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, false, false, 30, [], 98, ~U[2026-06-17 17:30:31Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, 30, ~U[2026-06-17 17:30:31Z]] 06:06:56.314 [debug] QUERY OK source="sources" db=0.5ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.319 [debug] QUERY OK source="media_items" db=4.3ms idle=7.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-16 17:30:08Z], 30] 06:06:56.320 [debug] QUERY OK source="media_items" db=1.2ms idle=11.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "5bebb910-d9d4-4b27-b5d6-c1689a853cca", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, false, false, 30, [], 98, ~U[2026-06-16 17:30:08Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, 30, ~U[2026-06-16 17:30:08Z]] 06:06:56.321 [debug] QUERY OK source="sources" db=0.6ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.326 [debug] QUERY OK source="media_items" db=4.4ms idle=7.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-15 17:30:03Z], 30] 06:06:56.327 [debug] QUERY OK source="media_items" db=1.0ms idle=11.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "0cb62464-b0e3-4306-9a41-25cd48a4d870", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, false, false, 30, [], 98, ~U[2026-06-15 17:30:03Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, 30, ~U[2026-06-15 17:30:03Z]] 06:06:56.328 [debug] QUERY OK source="sources" db=0.7ms idle=8.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.333 [debug] QUERY OK source="media_items" db=4.4ms idle=7.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-14 17:30:02Z], 30] 06:06:56.337 [debug] QUERY OK source="media_items" db=3.6ms idle=11.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "2b3a7606-2f82-438e-9f65-87d855ba4e3b", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, false, false, 30, [], 98, ~U[2026-06-14 17:30:02Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, 30, ~U[2026-06-14 17:30:02Z]] 06:06:56.337 [debug] QUERY OK source="sources" db=0.6ms idle=11.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.342 [debug] QUERY OK source="media_items" db=4.4ms idle=10.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-13 17:30:17Z], 30] 06:06:56.344 [debug] QUERY OK source="media_items" db=1.1ms idle=14.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "3e1c01e5-566b-4a18-b02a-5a648a096390", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, false, false, 30, [], 98, ~U[2026-06-13 17:30:17Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, 30, ~U[2026-06-13 17:30:17Z]] 06:06:56.344 [debug] QUERY OK source="sources" db=0.6ms idle=11.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.349 [debug] QUERY OK source="media_items" db=4.4ms idle=8.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-12 17:30:31Z], 30] 06:06:56.350 [debug] QUERY OK source="media_items" db=1.1ms idle=11.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "2f21666a-8ff1-424d-8e3e-071545998d61", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, false, false, 30, [], 98, ~U[2026-06-12 17:30:31Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, 30, ~U[2026-06-12 17:30:31Z]] 06:06:56.351 [debug] QUERY OK source="sources" db=0.5ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.356 [debug] QUERY OK source="media_items" db=4.3ms idle=7.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 17:30:24Z], 30] 06:06:56.357 [debug] QUERY OK source="media_items" db=0.9ms idle=11.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "72f09212-45fc-4079-8ced-6fccebabe44f", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, false, false, 30, [], 98, ~U[2026-06-11 17:30:24Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, 30, ~U[2026-06-11 17:30:24Z]] 06:06:56.358 [debug] QUERY OK source="sources" db=0.5ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.362 [debug] QUERY OK source="media_items" db=4.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-10 17:30:12Z], 30] 06:06:56.364 [debug] QUERY OK source="media_items" db=1.0ms idle=11.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "57d075e3-0f76-4bba-9f31-130a4280e650", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, false, false, 30, [], 98, ~U[2026-06-10 17:30:12Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, 30, ~U[2026-06-10 17:30:12Z]] 06:06:56.364 [debug] QUERY OK source="sources" db=0.5ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.369 [debug] QUERY OK source="media_items" db=4.3ms idle=7.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 18:47:18Z], 30] 06:06:56.370 [debug] QUERY OK source="media_items" db=1.1ms idle=11.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "4ba63a3b-0f2f-498d-ba43-0a6b5aa07748", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, false, false, 30, [], 98, ~U[2026-06-09 18:47:18Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, 30, ~U[2026-06-09 18:47:18Z]] 06:06:56.371 [debug] QUERY OK source="sources" db=0.6ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.376 [debug] QUERY OK source="media_items" db=4.3ms idle=7.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-08 17:30:24Z], 30] 06:06:56.377 [debug] QUERY OK source="media_items" db=1.0ms idle=11.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "eaec7f43-c556-47ca-bc68-3a0283cb6aa5", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, false, false, 30, [], 98, ~U[2026-06-08 17:30:24Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, 30, ~U[2026-06-08 17:30:24Z]] 06:06:56.378 [debug] QUERY OK source="sources" db=0.5ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:06:56.382 [debug] QUERY OK source="media_items" db=4.3ms idle=7.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-07 17:30:02Z], 30] 06:06:56.384 [debug] QUERY OK source="media_items" db=1.0ms idle=11.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "e8f330ae-2adb-46cc-a9a1-82c0c40e9fe4", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, false, false, 30, [], 98, ~U[2026-06-07 17:30:02Z], ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], "A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, 30, ~U[2026-06-07 17:30:02Z]] 06:06:56.384 [debug] QUERY OK source="sources" db=0.5ms idle=8.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z], 30] 06:06:56.389 [debug] QUERY OK source="media_items" db=4.4ms idle=7.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 06:06:56.394 [debug] QUERY OK source="media_items" db=4.5ms idle=11.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")))) [30] 06:06:56.395 [debug] QUERY OK source="media_items" db=0.8ms idle=11.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 06:06:56.396 [debug] QUERY OK source="tasks" db=0.6ms idle=6.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419717, 30, ~U[2026-06-29 11:06:56Z], ~U[2026-06-29 11:06:56Z]] 06:06:56.397 [info] {"args":{"id":30},"id":419667,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":41167331,"event":"job:stop","queue_time":231137,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 06:07:00.965 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:07:21.705 [info] {"source":"oban","duration":8239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:51.713 [info] {"source":"oban","duration":7439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.966 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:08:21.721 [info] {"source":"oban","duration":7565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:51.729 [info] {"source":"oban","duration":6077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.967 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:09:21.735 [info] {"source":"oban","duration":5243,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:51.741 [info] {"source":"oban","duration":5156,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:10:00.968 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:10:21.749 [info] {"source":"oban","duration":7546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:26.638 [info] {"args":{"id":1611698},"id":419593,"meta":{},"system_time":1782731426638620622,"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"]} 06:10:26.639 [debug] QUERY OK source="media_items" db=0.5ms idle=1697.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" = ?) [1611698] 06:10:26.639 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:10:26.639 [debug] QUERY OK source="sources" db=0.2ms idle=1698.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:10:26.640 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1011.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:10:26.640 [debug] QUERY OK source="media_items" db=0.2ms idle=9.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 [1611698] 06:10:26.641 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1611698] 06:10:26.642 [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] 06:10:26.642 [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 [] 06:10:26.642 [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 [] 06:10:26.642 [debug] Running yt-dlp command for action: get_downloadable_status 06:10:26.644 [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 [] 06:10:26.644 [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 [] 06:10:26.644 [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 [] 06:10:26.644 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tcIvHlGaQII --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/22/84/228463645f0e0b3c8179ece69d527beea68d01a542032b9b30f9370976c20fd9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:10:28.320 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tcIvHlGaQII --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/22/84/228463645f0e0b3c8179ece69d527beea68d01a542032b9b30f9370976c20fd9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] tcIvHlGaQII: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:10:28.320 [error] yt-dlp download error for media item #1611698: "ERROR: [youtube] tcIvHlGaQII: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:10:28.321 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1611698},"id":419593,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1681970,"event":"job:exception","queue_time":987524,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:10:51.758 [info] {"source":"oban","duration":8887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.969 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:11:21.767 [info] {"source":"oban","duration":7545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:51.776 [info] {"source":"oban","duration":7980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.970 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:12:21.784 [info] {"source":"oban","duration":7268,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:51.792 [info] {"source":"oban","duration":7885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.971 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:13:21.799 [info] {"source":"oban","duration":5591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:13:31.918 [info] {"args":{"id":51},"id":419703,"meta":{},"system_time":1782731611918637986,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:13:31.919 [debug] QUERY OK source="sources" db=0.2ms idle=977.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:13:31.919 [debug] QUERY OK source="settings" db=0.1ms idle=977.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:13:31.920 [debug] QUERY OK source="media_profiles" db=0.6ms idle=977.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:13:31.920 [debug] QUERY OK source="settings" db=0.1ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:13:31.920 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 06:13:32.108 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 06:13:32.109 [debug] QUERY OK source="media_items" db=0.4ms idle=190.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 06:13:32.110 [debug] QUERY OK source="media_items" db=0.4ms idle=190.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")))) [51] 06:13:32.111 [debug] QUERY OK source="tasks" db=0.2ms idle=191.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419718, 51, ~U[2026-06-29 11:13:32Z], ~U[2026-06-29 11:13:32Z]] 06:13:32.112 [info] {"args":{"id":51},"id":419703,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":193268,"event":"job:stop","queue_time":691379,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:13:43.935 [info] {"args":{"id":3208372},"id":418843,"meta":{},"system_time":1782731623935882633,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:13:43.936 [debug] QUERY OK source="media_items" db=0.2ms idle=1994.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" = ?) [3208372] 06:13:43.936 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:13:43.937 [debug] QUERY OK source="sources" db=0.2ms idle=1995.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:13:43.937 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:13:43.938 [debug] QUERY OK source="media_items" db=0.3ms idle=8.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 [3208372] 06:13:43.939 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.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" = ?) [3208372] 06:13:43.939 [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] 06:13:43.940 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:13:43.940 [debug] QUERY OK source="settings" db=0.6ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:13:43.941 [debug] Running yt-dlp command for action: get_downloadable_status 06:13:43.942 [debug] QUERY OK source="settings" db=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:13:43.942 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:13:43.942 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:13:43.942 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8IB2ysqfIps --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7d/85/7d85029c0618b239a4fc0225afc0906328c02c259536bacd6269dec8fefc1ecf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:13:46.026 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8IB2ysqfIps --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7d/85/7d85029c0618b239a4fc0225afc0906328c02c259536bacd6269dec8fefc1ecf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 8IB2ysqfIps: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:13:46.026 [error] yt-dlp download error for media item #3208372: "ERROR: [youtube] 8IB2ysqfIps: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:13:46.027 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3208372},"id":418843,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2090945,"event":"job:exception","queue_time":463371,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:13:50.945 [info] {"args":{"id":3012876},"id":392470,"meta":{},"system_time":1782731630945836941,"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"]} 06:13:50.946 [debug] QUERY OK source="media_items" db=0.2ms idle=1004.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" = ?) [3012876] 06:13:50.946 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:13:50.946 [debug] QUERY OK source="sources" db=0.1ms idle=1005.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:13:50.947 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1005.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:13:50.947 [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 [3012876] 06:13:50.948 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [3012876] 06:13:50.948 [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] 06:13:50.948 [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 [] 06:13:50.948 [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 [] 06:13:50.949 [debug] Running yt-dlp command for action: get_downloadable_status 06:13:50.949 [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 [] 06:13:50.949 [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 [] 06:13:50.950 [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 [] 06:13:50.950 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/16/1b/161b76c65af745b3e17eb4199fc108306e98aef6c1cf0c2f005a1dcf2adfe512.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:13:51.807 [info] {"source":"oban","duration":7701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:52.632 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/16/1b/161b76c65af745b3e17eb4199fc108306e98aef6c1cf0c2f005a1dcf2adfe512.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:13:52.632 [error] yt-dlp download error for media item #3012876: "ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:13:52.633 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3012876},"id":392470,"meta":{},"state":"discard","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1686701,"event":"job:exception","queue_time":689053,"attempt":20,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:14:00.972 [info] {"source":"oban","duration":142,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:14:21.815 [info] {"source":"oban","duration":7815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:51.825 [info] {"source":"oban","duration":8457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.973 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:15:15.067 [info] {"args":{"id":52},"id":419716,"meta":{},"system_time":1782731715067449259,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:15:15.068 [debug] QUERY OK source="sources" db=0.5ms idle=126.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:15:15.068 [debug] QUERY OK source="settings" db=0.1ms idle=127.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:15:15.068 [debug] QUERY OK source="media_profiles" db=0.1ms idle=127.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:15.069 [debug] QUERY OK source="settings" db=0.1ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:15:15.069 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 06:15:15.119 [debug] Media ids fetched from RSS: ["HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 06:15:15.120 [debug] QUERY OK source="media_items" db=0.4ms idle=52.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 06:15:15.121 [debug] QUERY OK source="media_items" db=0.8ms idle=52.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")))) [52] 06:15:15.125 [debug] QUERY OK source="tasks" db=0.1ms idle=56.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419719, 1301334, ~U[2026-06-29 11:15:15Z], ~U[2026-06-29 11:15:15Z]] 06:15:15.128 [debug] QUERY OK source="tasks" db=0.2ms idle=3.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419720, 1301335, ~U[2026-06-29 11:15:15Z], ~U[2026-06-29 11:15:15Z]] 06:15:15.131 [debug] QUERY OK source="tasks" db=0.5ms idle=3.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419721, 1301347, ~U[2026-06-29 11:15:15Z], ~U[2026-06-29 11:15:15Z]] 06:15:15.131 [info] {"args":{"id":1301334},"id":419719,"meta":{},"system_time":1782731715131695337,"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"]} 06:15:15.131 [info] {"args":{"id":1301335},"id":419720,"meta":{},"system_time":1782731715131742519,"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"]} 06:15:15.132 [debug] QUERY OK source="media_items" db=0.6ms idle=1.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 06:15:15.132 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:15:15.132 [debug] QUERY OK source="media_items" db=0.7ms idle=1.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 06:15:15.132 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:15:15.133 [debug] QUERY OK source="sources" db=0.5ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:15:15.133 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:15:15.134 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 06:15:15.134 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 06:15:15.134 [debug] QUERY OK source="media_items" db=0.5ms 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 [1301335] 06:15:15.135 [debug] QUERY OK source="media_items" db=0.6ms idle=0.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 [1301334] 06:15:15.136 [debug] QUERY OK source="tasks" db=0.1ms idle=2.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419722, 1301392, ~U[2026-06-29 11:15:15Z], ~U[2026-06-29 11:15:15Z]] 06:15:15.139 [debug] QUERY OK source="tasks" db=0.4ms idle=3.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419723, 1301393, ~U[2026-06-29 11:15:15Z], ~U[2026-06-29 11:15:15Z]] 06:15:15.140 [debug] QUERY OK source="media_metadata" db=0.4ms idle=3.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" = ?) [1301335] 06:15:15.140 [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" = ?) [1301334] 06:15:15.140 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 06:15:15.141 [debug] QUERY OK source="media_profiles" db=0.4ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:15.142 [debug] QUERY OK source="settings" db=0.8ms 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 [] 06:15:15.142 [debug] QUERY OK source="settings" db=0.2ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:15:15.142 [debug] QUERY OK source="settings" db=0.2ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:15:15.142 [debug] QUERY OK source="settings" db=0.3ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:15:15.143 [debug] Running yt-dlp command for action: get_downloadable_status 06:15:15.143 [debug] Running yt-dlp command for action: get_downloadable_status 06:15:15.144 [debug] QUERY OK source="tasks" db=0.3ms idle=1.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419724, 1301394, ~U[2026-06-29 11:15:15Z], ~U[2026-06-29 11:15:15Z]] 06:15:15.144 [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 [] 06:15:15.144 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:15:15.144 [debug] QUERY OK source="settings" db=0.3ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:15:15.144 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f6/8c/f68cdd04cc2c80d3eb480f0d45844bdb8dfb567b5132246e5047ed5cdb6be34e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:15:15.145 [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 [] 06:15:15.145 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:15:15.145 [debug] QUERY OK source="settings" db=0.2ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:15:15.146 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3c/09/3c098c61cbfcf5de67275b1b2e783a48afc3ece22db0ba38f6c557b9b9149ab7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:15:15.148 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419725, 1301395, ~U[2026-06-29 11:15:15Z], ~U[2026-06-29 11:15:15Z]] 06:15:15.151 [debug] QUERY OK source="tasks" db=0.2ms idle=4.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419726, 1301397, ~U[2026-06-29 11:15:15Z], ~U[2026-06-29 11:15:15Z]] 06:15:15.155 [debug] QUERY OK source="tasks" db=0.3ms idle=3.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419727, 1301398, ~U[2026-06-29 11:15:15Z], ~U[2026-06-29 11:15:15Z]] 06:15:15.158 [debug] QUERY OK source="tasks" db=0.3ms idle=3.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419728, 1301399, ~U[2026-06-29 11:15:15Z], ~U[2026-06-29 11:15:15Z]] 06:15:15.161 [debug] QUERY OK source="tasks" db=0.2ms idle=3.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419729, 1301400, ~U[2026-06-29 11:15:15Z], ~U[2026-06-29 11:15:15Z]] 06:15:15.164 [debug] QUERY OK source="tasks" db=0.2ms idle=3.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419730, 2720968, ~U[2026-06-29 11:15:15Z], ~U[2026-06-29 11:15:15Z]] 06:15:15.165 [debug] QUERY OK source="tasks" db=0.3ms idle=1.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419731, 52, ~U[2026-06-29 11:15:15Z], ~U[2026-06-29 11:15:15Z]] 06:15:15.165 [info] {"args":{"id":52},"id":419716,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":97982,"event":"job:stop","queue_time":853411,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:15:16.922 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3c/09/3c098c61cbfcf5de67275b1b2e783a48afc3ece22db0ba38f6c557b9b9149ab7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:15:16.923 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:16.923 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:16.923 [info] {"args":{"id":1301334},"id":419719,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1791488,"event":"job:stop","queue_time":130888,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:15:16.929 [info] {"args":{"id":1301347},"id":419721,"meta":{},"system_time":1782731716929636777,"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"]} 06:15:16.930 [debug] QUERY OK source="media_items" db=0.1ms idle=1764.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" = ?) [1301347] 06:15:16.930 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:15:16.930 [debug] QUERY OK source="sources" db=0.1ms idle=1757.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:15:16.930 [debug] QUERY OK source="media_profiles" db=0.1ms idle=868.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:16.931 [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 [1301347] 06:15:16.932 [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" = ?) [1301347] 06:15:16.932 [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] 06:15:16.932 [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 [] 06:15:16.932 [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 [] 06:15:16.932 [debug] Running yt-dlp command for action: get_downloadable_status 06:15:16.933 [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 [] 06:15:16.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 [] 06:15:16.933 [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 [] 06:15:16.933 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/19/98/19988a473a3b04597b13e416b858279bfefc65e9e75493bde56189d5fcd9d431.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:15:17.160 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f6/8c/f68cdd04cc2c80d3eb480f0d45844bdb8dfb567b5132246e5047ed5cdb6be34e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:15:17.160 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:17.160 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:17.160 [info] {"args":{"id":1301335},"id":419720,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2028688,"event":"job:stop","queue_time":130888,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:15:17.167 [info] {"args":{"id":1301392},"id":419722,"meta":{},"system_time":1782731717167637355,"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"]} 06:15:17.168 [debug] QUERY OK source="media_items" db=0.1ms idle=234.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" = ?) [1301392] 06:15:17.168 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:15:17.168 [debug] QUERY OK source="sources" db=0.2ms idle=234.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:15:17.168 [debug] QUERY OK source="media_profiles" db=0.1ms idle=105.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:17.169 [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 [1301392] 06:15:17.170 [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" = ?) [1301392] 06:15:17.170 [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] 06:15:17.170 [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 [] 06:15:17.170 [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 [] 06:15:17.171 [debug] Running yt-dlp command for action: get_downloadable_status 06:15:17.171 [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 [] 06:15:17.172 [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 [] 06:15:17.172 [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 [] 06:15:17.172 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d0/e2/d0e2365b572c6de865bcd5ace8f95c82e51950fafb2aef4831f4099dc1ac26b6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:15:18.739 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/19/98/19988a473a3b04597b13e416b858279bfefc65e9e75493bde56189d5fcd9d431.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:15:18.739 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:18.739 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:18.739 [info] {"args":{"id":1301347},"id":419721,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1809861,"event":"job:stop","queue_time":1928951,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:15:18.746 [info] {"args":{"id":1301393},"id":419723,"meta":{},"system_time":1782731718746736241,"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"]} 06:15:18.747 [debug] QUERY OK source="media_items" db=0.1ms idle=1574.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" = ?) [1301393] 06:15:18.747 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:15:18.747 [debug] QUERY OK source="sources" db=0.1ms idle=1575.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:15:18.747 [debug] QUERY OK source="media_profiles" db=0.1ms idle=682.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:18.748 [debug] QUERY OK source="media_items" db=0.1ms idle=8.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 [1301393] 06:15:18.749 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301393] 06:15:18.749 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 06:15:18.749 [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 [] 06:15:18.749 [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 [] 06:15:18.749 [debug] Running yt-dlp command for action: get_downloadable_status 06:15:18.750 [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 [] 06:15:18.750 [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 [] 06:15:18.751 [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 [] 06:15:18.751 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dc/d1/dcd1b2b208bd564ea40c52457e0ed19a3a8b340ead95ae2be4e8eff301947f97.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:15:18.929 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d0/e2/d0e2365b572c6de865bcd5ace8f95c82e51950fafb2aef4831f4099dc1ac26b6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:15:18.929 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:18.929 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:18.930 [info] {"args":{"id":1301392},"id":419722,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1762140,"event":"job:stop","queue_time":2166944,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:15:18.936 [info] {"args":{"id":1301394},"id":419724,"meta":{},"system_time":1782731718936501520,"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"]} 06:15:18.936 [debug] QUERY OK source="media_items" db=0.1ms idle=185.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301394] 06:15:18.937 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:15:18.937 [debug] QUERY OK source="sources" db=0.1ms idle=186.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:15:18.937 [debug] QUERY OK source="media_profiles" db=0.1ms idle=186.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:18.937 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301394] 06:15:18.939 [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" = ?) [1301394] 06:15:18.939 [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] 06:15:18.939 [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 [] 06:15:18.939 [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 [] 06:15:18.940 [debug] Running yt-dlp command for action: get_downloadable_status 06:15:18.940 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:15:18.941 [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 [] 06:15:18.941 [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 [] 06:15:18.941 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/09/96/0996413be8a471fd871e53c3786f9ff2cbfbae8f418d098ff6f4d03a89227e54.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:15:20.903 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dc/d1/dcd1b2b208bd564ea40c52457e0ed19a3a8b340ead95ae2be4e8eff301947f97.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:15:20.903 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:20.903 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:20.904 [info] {"args":{"id":1301393},"id":419723,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2157099,"event":"job:stop","queue_time":3745945,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:15:20.911 [info] {"args":{"id":1301395},"id":419725,"meta":{},"system_time":1782731720910920444,"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"]} 06:15:20.911 [debug] QUERY OK source="media_items" db=0.2ms idle=1844.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" = ?) [1301395] 06:15:20.911 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:15:20.912 [debug] QUERY OK source="sources" db=0.1ms idle=970.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:15:20.912 [debug] QUERY OK source="media_profiles" db=0.2ms idle=844.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:20.912 [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 [1301395] 06:15:20.913 [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" = ?) [1301395] 06:15:20.914 [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] 06:15:20.914 [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 [] 06:15:20.914 [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 [] 06:15:20.914 [debug] Running yt-dlp command for action: get_downloadable_status 06:15:20.915 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:15:20.915 [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 [] 06:15:20.916 [debug] QUERY OK source="settings" db=0.2ms 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 [] 06:15:20.916 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fd/75/fd75a2de81c696837ff1caad214edbcd7a80c8075af1996f509e4a719601cb2b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:15:21.090 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/09/96/0996413be8a471fd871e53c3786f9ff2cbfbae8f418d098ff6f4d03a89227e54.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:15:21.090 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:21.091 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:21.091 [info] {"args":{"id":1301394},"id":419724,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2154600,"event":"job:stop","queue_time":3935959,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:15:21.097 [info] {"args":{"id":1301397},"id":419726,"meta":{},"system_time":1782731721097557344,"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"]} 06:15:21.098 [debug] QUERY OK source="media_items" db=0.2ms idle=181.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301397] 06:15:21.098 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:15:21.098 [debug] QUERY OK source="sources" db=0.2ms idle=182.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:15:21.098 [debug] QUERY OK source="media_profiles" db=0.1ms idle=29.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:21.099 [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 [1301397] 06:15:21.100 [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" = ?) [1301397] 06:15:21.100 [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] 06:15:21.101 [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 [] 06:15:21.101 [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 [] 06:15:21.101 [debug] Running yt-dlp command for action: get_downloadable_status 06:15:21.102 [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 [] 06:15:21.102 [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 [] 06:15:21.102 [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 [] 06:15:21.102 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d3/8c/d38c62d69dce272990aeb2bc682e8ade91556a2bdf47b6e6b171d6098b17aeb0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:15:21.833 [info] {"source":"oban","duration":7839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:22.665 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fd/75/fd75a2de81c696837ff1caad214edbcd7a80c8075af1996f509e4a719601cb2b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:15:22.665 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:22.666 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:22.666 [info] {"args":{"id":1301395},"id":419725,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1755201,"event":"job:stop","queue_time":5909959,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:15:22.672 [info] {"args":{"id":1301398},"id":419727,"meta":{},"system_time":1782731722672893041,"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"]} 06:15:22.673 [debug] QUERY OK source="media_items" db=0.2ms idle=1570.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" = ?) [1301398] 06:15:22.673 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:15:22.674 [debug] QUERY OK source="sources" db=0.5ms idle=839.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:15:22.674 [debug] QUERY OK source="media_profiles" db=0.1ms idle=604.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:22.674 [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 [1301398] 06:15:22.676 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301398] 06:15:22.677 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 06:15:22.677 [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 [] 06:15:22.677 [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 [] 06:15:22.677 [debug] Running yt-dlp command for action: get_downloadable_status 06:15:22.678 [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 [] 06:15:22.678 [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 [] 06:15:22.679 [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 [] 06:15:22.679 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/56/5556ce28672aa0f693414d46678884892180a1f9e2c351a8b5c3bc90af789ca0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:15:22.996 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d3/8c/d38c62d69dce272990aeb2bc682e8ade91556a2bdf47b6e6b171d6098b17aeb0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:15:22.997 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:22.997 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:22.997 [info] {"args":{"id":1301397},"id":419726,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1899584,"event":"job:stop","queue_time":6096946,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:15:23.003 [info] {"args":{"id":1301399},"id":419728,"meta":{},"system_time":1782731723003659532,"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"]} 06:15:23.004 [debug] QUERY OK source="media_items" db=0.2ms idle=325.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301399] 06:15:23.004 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:15:23.004 [debug] QUERY OK source="sources" db=0.1ms idle=325.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:15:23.004 [debug] QUERY OK source="media_profiles" db=0.2ms idle=325.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:23.005 [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 [1301399] 06:15:23.006 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301399] 06:15:23.006 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:23.007 [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 [] 06:15:23.007 [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 [] 06:15:23.007 [debug] Running yt-dlp command for action: get_downloadable_status 06:15:23.008 [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 [] 06:15:23.008 [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 [] 06:15:23.008 [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 [] 06:15:23.008 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c1/44/c144fc0f88d1b527482e8f6cc14918225e720683250d80edb2368d410af71359.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:15:24.493 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/56/5556ce28672aa0f693414d46678884892180a1f9e2c351a8b5c3bc90af789ca0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:15:24.493 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:24.493 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:24.494 [info] {"args":{"id":1301398},"id":419727,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1820855,"event":"job:stop","queue_time":7671950,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:15:24.500 [info] {"args":{"id":1301400},"id":419729,"meta":{},"system_time":1782731724500501198,"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"]} 06:15:24.500 [debug] QUERY OK source="media_items" db=0.1ms idle=1492.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" = ?) [1301400] 06:15:24.501 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:15:24.501 [debug] QUERY OK source="sources" db=0.1ms idle=1429.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:15:24.501 [debug] QUERY OK source="media_profiles" db=0.1ms idle=427.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:24.502 [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 [1301400] 06:15:24.502 [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" = ?) [1301400] 06:15:24.502 [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] 06:15:24.503 [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 [] 06:15:24.503 [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 [] 06:15:24.503 [debug] Running yt-dlp command for action: get_downloadable_status 06:15:24.504 [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 [] 06:15:24.504 [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 [] 06:15:24.504 [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 [] 06:15:24.504 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/ed/64edc54f731122b9e85d73f895f1aea5d1b9d8eb010974d52dc2f36a05d6266d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:15:24.680 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c1/44/c144fc0f88d1b527482e8f6cc14918225e720683250d80edb2368d410af71359.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:15:24.680 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:24.681 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:24.681 [info] {"args":{"id":1301399},"id":419728,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1677427,"event":"job:stop","queue_time":8002910,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:15:24.687 [info] {"args":{"id":2720968},"id":419730,"meta":{},"system_time":1782731724687557474,"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"]} 06:15:24.687 [debug] QUERY OK source="media_items" db=0.1ms idle=183.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" = ?) [2720968] 06:15:24.688 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:15:24.688 [debug] QUERY OK source="sources" db=0.1ms idle=183.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:15:24.688 [debug] QUERY OK source="media_profiles" db=0.1ms idle=183.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:24.689 [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 [2720968] 06:15:24.690 [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" = ?) [2720968] 06:15:24.690 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:15:24.691 [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 [] 06:15:24.691 [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 [] 06:15:24.691 [debug] Running yt-dlp command for action: get_downloadable_status 06:15:24.692 [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 [] 06:15:24.692 [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 [] 06:15:24.692 [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 [] 06:15:24.692 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f1/12/f112e3baa5d9a7b7e5eb39b2fc68d74ffdf3163407390a50e3682610612a92c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:15:26.184 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/ed/64edc54f731122b9e85d73f895f1aea5d1b9d8eb010974d52dc2f36a05d6266d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:15:26.184 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:26.184 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:26.185 [info] {"args":{"id":1301400},"id":419729,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1684137,"event":"job:stop","queue_time":9499893,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:15:26.386 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f1/12/f112e3baa5d9a7b7e5eb39b2fc68d74ffdf3163407390a50e3682610612a92c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:15:26.386 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:26.387 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:15:26.387 [info] {"args":{"id":2720968},"id":419730,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1699543,"event":"job:stop","queue_time":9686894,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:15:51.843 [info] {"source":"oban","duration":8621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.974 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:16:21.851 [info] {"source":"oban","duration":7950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:16:51.858 [info] {"source":"oban","duration":5605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:17:00.975 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:17:21.867 [info] {"source":"oban","duration":8058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:51.875 [info] {"source":"oban","duration":7800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.976 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:18:21.882 [info] {"source":"oban","duration":5452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:51.888 [info] {"source":"oban","duration":5853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.977 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:19:21.897 [info] {"source":"oban","duration":8303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:23.397 [info] {"args":{"id":3310881},"id":419499,"meta":{},"system_time":1782731963397686291,"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"]} 06:19:23.398 [debug] QUERY OK source="media_items" db=0.5ms idle=456.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" = ?) [3310881] 06:19:23.398 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:19:23.399 [debug] QUERY OK source="sources" db=0.5ms idle=457.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:19:23.400 [debug] QUERY OK source="media_profiles" db=0.5ms idle=458.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:19:23.400 [debug] QUERY OK source="media_items" db=0.2ms idle=9.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 [3310881] 06:19:23.402 [debug] QUERY OK source="media_metadata" db=0.0ms idle=5.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" = ?) [3310881] 06:19:23.403 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 06:19:23.403 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:19:23.403 [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 [] 06:19:23.403 [debug] Running yt-dlp command for action: get_downloadable_status 06:19:23.404 [debug] QUERY OK source="settings" db=0.0ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:19:23.404 [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 [] 06:19:23.404 [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 [] 06:19:23.405 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MZq55vL2aGw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a9/84/a984e3d6d4711b0df4130f6b18dbae11a955a30dd6792df95a3f5725ba71b0aa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:19:25.292 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MZq55vL2aGw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a9/84/a984e3d6d4711b0df4130f6b18dbae11a955a30dd6792df95a3f5725ba71b0aa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] MZq55vL2aGw: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:19:25.292 [error] yt-dlp download error for media item #3310881: "ERROR: [youtube] MZq55vL2aGw: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:19:25.293 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3310881},"id":419499,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1894981,"event":"job:exception","queue_time":539035,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:19:39.415 [info] {"args":{"id":1314079},"id":419500,"meta":{},"system_time":1782731979415754581,"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"]} 06:19:39.416 [debug] QUERY OK source="media_items" db=0.2ms idle=474.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" = ?) [1314079] 06:19:39.416 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:19:39.416 [debug] QUERY OK source="sources" db=0.3ms idle=475.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:19:39.417 [debug] QUERY OK source="media_profiles" db=0.2ms idle=475.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:19:39.417 [debug] QUERY OK source="media_items" db=0.3ms idle=8.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 [1314079] 06:19:39.419 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.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" = ?) [1314079] 06:19:39.419 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:19:39.419 [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 [] 06:19:39.419 [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 [] 06:19:39.419 [debug] Running yt-dlp command for action: get_downloadable_status 06:19:39.420 [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 [] 06:19:39.420 [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 [] 06:19:39.420 [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 [] 06:19:39.420 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=imbKUA0ZlIQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/aa/97aac8207dad5fb121d4d9fa1f72fd4b887cf371ae32a7ce0fa362145f46f926.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:19:41.071 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=imbKUA0ZlIQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/aa/97aac8207dad5fb121d4d9fa1f72fd4b887cf371ae32a7ce0fa362145f46f926.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] imbKUA0ZlIQ: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:19:41.071 [error] yt-dlp download error for media item #1314079: "ERROR: [youtube] imbKUA0ZlIQ: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:19:41.072 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1314079},"id":419500,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1655892,"event":"job:exception","queue_time":880536,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:19:51.905 [info] {"source":"oban","duration":7759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.978 [info] {"source":"oban","duration":130,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:20:21.913 [info] {"source":"oban","duration":7437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:51.919 [info] {"source":"oban","duration":5567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.979 [info] {"source":"oban","duration":654,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:21:21.928 [info] {"source":"oban","duration":7985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:51.936 [info] {"source":"oban","duration":7902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.981 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:22:21.943 [info] {"source":"oban","duration":5373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:51.951 [info] {"source":"oban","duration":7561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.982 [info] {"source":"oban","duration":144,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:23:21.958 [info] {"source":"oban","duration":6360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:23:32.711 [info] {"args":{"id":51},"id":419718,"meta":{},"system_time":1782732212711633667,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:23:32.712 [debug] QUERY OK source="sources" db=0.1ms idle=1008.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:23:32.712 [debug] QUERY OK source="settings" db=0.1ms idle=771.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:23:32.712 [debug] QUERY OK source="media_profiles" db=0.5ms idle=771.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:23:32.713 [debug] QUERY OK source="settings" db=0.1ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:23:32.713 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 06:23:32.964 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 06:23:32.964 [debug] QUERY OK source="media_items" db=0.3ms idle=252.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 06:23:32.965 [debug] QUERY OK source="media_items" db=0.4ms idle=253.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")))) [51] 06:23:32.966 [debug] QUERY OK source="tasks" db=0.1ms idle=253.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419732, 51, ~U[2026-06-29 11:23:32Z], ~U[2026-06-29 11:23:32Z]] 06:23:32.966 [info] {"args":{"id":51},"id":419718,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":255027,"event":"job:stop","queue_time":600416,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:23:51.967 [info] {"source":"oban","duration":8067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.983 [info] {"source":"oban","duration":710,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:24:21.975 [info] {"source":"oban","duration":7490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:51.981 [info] {"source":"oban","duration":6011,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.985 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:25:15.864 [info] {"args":{"id":52},"id":419731,"meta":{},"system_time":1782732315864333678,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:25:15.865 [debug] QUERY OK source="sources" db=0.6ms idle=923.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:25:15.865 [debug] QUERY OK source="settings" db=0.1ms idle=924.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:25:15.865 [debug] QUERY OK source="media_profiles" db=0.1ms idle=924.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:15.866 [debug] QUERY OK source="settings" db=0.5ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:25:15.866 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 06:25:16.013 [debug] Media ids fetched from RSS: ["HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 06:25:16.014 [debug] QUERY OK source="media_items" db=0.7ms idle=149.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 06:25:16.016 [debug] QUERY OK source="media_items" db=0.8ms idle=150.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")))) [52] 06:25:16.020 [debug] QUERY OK source="tasks" db=0.2ms idle=153.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419733, 1301334, ~U[2026-06-29 11:25:16Z], ~U[2026-06-29 11:25:16Z]] 06:25:16.024 [debug] QUERY OK source="tasks" db=0.3ms idle=4.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419734, 1301335, ~U[2026-06-29 11:25:16Z], ~U[2026-06-29 11:25:16Z]] 06:25:16.028 [info] {"args":{"id":1301334},"id":419733,"meta":{},"system_time":1782732316027963017,"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"]} 06:25:16.028 [info] {"args":{"id":1301335},"id":419734,"meta":{},"system_time":1782732316028044416,"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"]} 06:25:16.028 [debug] QUERY OK source="media_items" db=0.5ms 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" = ?) [1301334] 06:25:16.029 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:25:16.029 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 06:25:16.029 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:25:16.029 [debug] QUERY OK source="sources" db=0.4ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:25:16.030 [debug] QUERY OK source="sources" db=0.4ms idle=0.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:25:16.030 [debug] QUERY OK source="media_profiles" db=0.5ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:16.030 [debug] QUERY OK source="tasks" db=1.0ms idle=0.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419735, 1301347, ~U[2026-06-29 11:25:16Z], ~U[2026-06-29 11:25:16Z]] 06:25:16.030 [debug] QUERY OK source="media_profiles" db=0.4ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:16.031 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=0.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 [1301334] 06:25:16.031 [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 [1301335] 06:25:16.033 [debug] QUERY OK source="media_metadata" db=1.2ms 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" = ?) [1301334] 06:25:16.033 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.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" = ?) [1301335] 06:25:16.034 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 06:25:16.034 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 06:25:16.035 [debug] QUERY OK source="settings" db=0.4ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:25:16.035 [debug] QUERY OK source="settings" db=0.4ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:25:16.035 [debug] QUERY OK source="settings" db=0.4ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:25:16.036 [debug] QUERY OK source="settings" db=0.6ms 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 [] 06:25:16.036 [debug] Running yt-dlp command for action: get_downloadable_status 06:25:16.036 [debug] QUERY OK source="tasks" db=0.4ms idle=0.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419736, 1301392, ~U[2026-06-29 11:25:16Z], ~U[2026-06-29 11:25:16Z]] 06:25:16.037 [debug] Running yt-dlp command for action: get_downloadable_status 06:25:16.037 [debug] QUERY OK source="settings" db=0.3ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:25:16.038 [debug] QUERY OK source="settings" db=0.2ms 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 [] 06:25:16.038 [debug] QUERY OK source="settings" db=0.3ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:25:16.038 [debug] QUERY OK source="settings" db=0.2ms 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 [] 06:25:16.038 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5f/e8/5fe871e06077f6fe44a2482aba8b9b8a90ab293f3a3c6aa3f0d8a159afcef174.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:25:16.038 [debug] QUERY OK source="settings" db=0.3ms 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 [] 06:25:16.039 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:25:16.039 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/c2/c4c2c1fd3ccb8c2c6530ab0701065079ada9393e80471f1adb041c80e745166e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:25:16.040 [debug] QUERY OK source="tasks" db=0.2ms idle=2.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419737, 1301393, ~U[2026-06-29 11:25:16Z], ~U[2026-06-29 11:25:16Z]] 06:25:16.044 [debug] QUERY OK source="tasks" db=0.4ms idle=4.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419738, 1301394, ~U[2026-06-29 11:25:16Z], ~U[2026-06-29 11:25:16Z]] 06:25:16.049 [debug] QUERY OK source="tasks" db=0.4ms idle=5.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419739, 1301395, ~U[2026-06-29 11:25:16Z], ~U[2026-06-29 11:25:16Z]] 06:25:16.055 [debug] QUERY OK source="tasks" db=0.2ms idle=5.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419740, 1301397, ~U[2026-06-29 11:25:16Z], ~U[2026-06-29 11:25:16Z]] 06:25:16.059 [debug] QUERY OK source="tasks" db=0.3ms idle=4.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419741, 1301398, ~U[2026-06-29 11:25:16Z], ~U[2026-06-29 11:25:16Z]] 06:25:16.063 [debug] QUERY OK source="tasks" db=0.3ms idle=4.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419742, 1301399, ~U[2026-06-29 11:25:16Z], ~U[2026-06-29 11:25:16Z]] 06:25:16.067 [debug] QUERY OK source="tasks" db=0.3ms idle=4.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419743, 1301400, ~U[2026-06-29 11:25:16Z], ~U[2026-06-29 11:25:16Z]] 06:25:16.071 [debug] QUERY OK source="tasks" db=0.5ms idle=4.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419744, 2720968, ~U[2026-06-29 11:25:16Z], ~U[2026-06-29 11:25:16Z]] 06:25:16.073 [debug] QUERY OK source="tasks" db=0.4ms idle=2.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419745, 52, ~U[2026-06-29 11:25:16Z], ~U[2026-06-29 11:25:16Z]] 06:25:16.074 [info] {"args":{"id":52},"id":419731,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":209340,"event":"job:stop","queue_time":698789,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:25:18.067 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5f/e8/5fe871e06077f6fe44a2482aba8b9b8a90ab293f3a3c6aa3f0d8a159afcef174.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:25:18.067 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:18.067 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:18.068 [info] {"args":{"id":1301334},"id":419733,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2039918,"event":"job:stop","queue_time":25946,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:25:18.074 [info] {"args":{"id":1301347},"id":419735,"meta":{},"system_time":1782732318074714733,"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"]} 06:25:18.075 [debug] QUERY OK source="media_items" db=0.1ms idle=133.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" = ?) [1301347] 06:25:18.075 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:25:18.075 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [52] 06:25:18.075 [debug] QUERY OK source="media_profiles" db=0.1ms idle=134.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:18.076 [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 [1301347] 06:25:18.077 [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" = ?) [1301347] 06:25:18.077 [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] 06:25:18.077 [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 [] 06:25:18.077 [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 [] 06:25:18.077 [debug] Running yt-dlp command for action: get_downloadable_status 06:25:18.078 [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 [] 06:25:18.078 [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 [] 06:25:18.078 [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 [] 06:25:18.079 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/61/8f/618f5675d53ae897ce9cb806d0eedee21b38f72b483faca9ccc485cf22802f43.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:25:18.221 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/c2/c4c2c1fd3ccb8c2c6530ab0701065079ada9393e80471f1adb041c80e745166e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:25:18.221 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:18.221 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:18.222 [info] {"args":{"id":1301335},"id":419734,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2193576,"event":"job:stop","queue_time":25946,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:25:18.228 [info] {"args":{"id":1301392},"id":419736,"meta":{},"system_time":1782732318228537057,"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"]} 06:25:18.228 [debug] QUERY OK source="media_items" db=0.1ms idle=150.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" = ?) [1301392] 06:25:18.229 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:25:18.229 [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" = ?) [52] 06:25:18.229 [debug] QUERY OK source="media_profiles" db=0.1ms idle=150.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:18.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 [1301392] 06:25:18.230 [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" = ?) [1301392] 06:25:18.230 [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] 06:25:18.231 [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 [] 06:25:18.231 [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 [] 06:25:18.231 [debug] Running yt-dlp command for action: get_downloadable_status 06:25:18.232 [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 [] 06:25:18.232 [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 [] 06:25:18.232 [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 [] 06:25:18.232 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/60/1e/601e3901c27769829d9a8158a3e1eba8fd1e04a9515feac1784b0391381130d8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:25:19.820 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/61/8f/618f5675d53ae897ce9cb806d0eedee21b38f72b483faca9ccc485cf22802f43.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:25:19.820 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:19.820 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:19.821 [info] {"args":{"id":1301347},"id":419735,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1746160,"event":"job:stop","queue_time":2073947,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:25:19.827 [info] {"args":{"id":1301393},"id":419737,"meta":{},"system_time":1782732319827599044,"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"]} 06:25:19.828 [debug] QUERY OK source="media_items" db=0.1ms idle=1595.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" = ?) [1301393] 06:25:19.828 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:25:19.828 [debug] QUERY OK source="sources" db=0.2ms idle=1595.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:25:19.828 [debug] QUERY OK source="media_profiles" db=0.1ms idle=966.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:19.829 [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 [1301393] 06:25:19.830 [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" = ?) [1301393] 06:25:19.830 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:19.830 [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 [] 06:25:19.831 [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 [] 06:25:19.831 [debug] Running yt-dlp command for action: get_downloadable_status 06:25:19.832 [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 [] 06:25:19.832 [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 [] 06:25:19.832 [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 [] 06:25:19.832 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/18/45/18453bea11df26b990add9bf5e563d308f933edc57f624e65655c2343aad3055.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:25:20.029 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/60/1e/601e3901c27769829d9a8158a3e1eba8fd1e04a9515feac1784b0391381130d8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:25:20.029 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:20.029 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:20.029 [info] {"args":{"id":1301392},"id":419736,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1800972,"event":"job:stop","queue_time":2227967,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:25:20.036 [info] {"args":{"id":1301394},"id":419738,"meta":{},"system_time":1782732320036552493,"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"]} 06:25:20.036 [debug] QUERY OK source="media_items" db=0.1ms idle=204.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" = ?) [1301394] 06:25:20.037 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:25:20.037 [debug] QUERY OK source="sources" db=0.1ms idle=204.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:25:20.037 [debug] QUERY OK source="media_profiles" db=0.1ms idle=174.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:20.038 [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 [1301394] 06:25:20.039 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301394] 06:25:20.039 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 06:25:20.039 [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 [] 06:25:20.039 [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 [] 06:25:20.040 [debug] Running yt-dlp command for action: get_downloadable_status 06:25:20.041 [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 [] 06:25:20.041 [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 [] 06:25:20.041 [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 [] 06:25:20.041 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/49/8e/498e5639e08a3cf73fd63554d74c4f9d75bf79c15d53827013b675fa75593064.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:25:21.592 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/18/45/18453bea11df26b990add9bf5e563d308f933edc57f624e65655c2343aad3055.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:25:21.592 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:21.593 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:21.593 [info] {"args":{"id":1301393},"id":419737,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1765453,"event":"job:stop","queue_time":3826898,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:25:21.600 [info] {"args":{"id":1301395},"id":419739,"meta":{},"system_time":1782732321600087778,"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"]} 06:25:21.600 [debug] QUERY OK source="media_items" db=0.1ms idle=1558.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" = ?) [1301395] 06:25:21.600 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:25:21.600 [debug] QUERY OK source="sources" db=0.1ms idle=1559.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:25:21.601 [debug] QUERY OK source="media_profiles" db=0.1ms idle=737.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:21.601 [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 [1301395] 06:25:21.602 [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" = ?) [1301395] 06:25:21.602 [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] 06:25:21.602 [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 [] 06:25:21.602 [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 [] 06:25:21.603 [debug] Running yt-dlp command for action: get_downloadable_status 06:25:21.603 [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 [] 06:25:21.603 [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 [] 06:25:21.604 [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 [] 06:25:21.604 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/25/f4257b9a1ca78fc57609d4a69146083f5c6e305156db96322508ad7ec683a881.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:25:21.721 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/49/8e/498e5639e08a3cf73fd63554d74c4f9d75bf79c15d53827013b675fa75593064.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:25:21.722 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:21.722 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:21.722 [info] {"args":{"id":1301394},"id":419738,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1685608,"event":"job:stop","queue_time":4035909,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:25:21.728 [info] {"args":{"id":1301397},"id":419740,"meta":{},"system_time":1782732321728627034,"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"]} 06:25:21.729 [debug] QUERY OK source="media_items" db=0.2ms idle=125.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301397] 06:25:21.729 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:25:21.729 [debug] QUERY OK source="sources" db=0.2ms idle=125.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:25:21.729 [debug] QUERY OK source="media_profiles" db=0.2ms idle=125.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:21.730 [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 [1301397] 06:25:21.731 [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" = ?) [1301397] 06:25:21.731 [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] 06:25:21.731 [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 [] 06:25:21.731 [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 [] 06:25:21.732 [debug] Running yt-dlp command for action: get_downloadable_status 06:25:21.733 [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 [] 06:25:21.733 [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 [] 06:25:21.733 [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 [] 06:25:21.733 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/e5/a1e526bddd7a995ace95894403781f2616fb7a7476137fb6021eaabd2e6bc519.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:25:21.990 [info] {"source":"oban","duration":7854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:23.444 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/e5/a1e526bddd7a995ace95894403781f2616fb7a7476137fb6021eaabd2e6bc519.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:25:23.444 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:23.444 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:23.445 [info] {"args":{"id":1301397},"id":419740,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1716221,"event":"job:stop","queue_time":5727903,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:25:23.451 [info] {"args":{"id":1301398},"id":419741,"meta":{},"system_time":1782732323451645693,"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"]} 06:25:23.452 [debug] QUERY OK source="media_items" db=0.1ms idle=510.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" = ?) [1301398] 06:25:23.452 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:25:23.452 [debug] QUERY OK source="sources" db=0.1ms idle=511.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:25:23.452 [debug] QUERY OK source="media_profiles" db=0.1ms idle=511.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:23.453 [debug] QUERY OK source="media_items" db=0.5ms 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 [1301398] 06:25:23.454 [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" = ?) [1301398] 06:25:23.454 [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] 06:25:23.454 [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 [] 06:25:23.454 [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 [] 06:25:23.454 [debug] Running yt-dlp command for action: get_downloadable_status 06:25:23.455 [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 [] 06:25:23.456 [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 [] 06:25:23.456 [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 [] 06:25:23.456 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d1/56/d1564d57acae22f455329bfa77e34c67417fd9dba97923662be57e204295d80e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:25:23.686 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/25/f4257b9a1ca78fc57609d4a69146083f5c6e305156db96322508ad7ec683a881.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:25:23.686 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:23.686 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:23.687 [info] {"args":{"id":1301395},"id":419739,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2086829,"event":"job:stop","queue_time":5598929,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:25:23.693 [info] {"args":{"id":1301399},"id":419742,"meta":{},"system_time":1782732323693561772,"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"]} 06:25:23.694 [debug] QUERY OK source="media_items" db=0.2ms idle=237.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" = ?) [1301399] 06:25:23.694 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:25:23.694 [debug] QUERY OK source="sources" db=0.1ms idle=238.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:25:23.694 [debug] QUERY OK source="media_profiles" db=0.1ms idle=238.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:23.695 [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 [1301399] 06:25:23.696 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301399] 06:25:23.696 [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] 06:25:23.696 [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 [] 06:25:23.697 [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 [] 06:25:23.697 [debug] Running yt-dlp command for action: get_downloadable_status 06:25:23.698 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:25:23.698 [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 [] 06:25:23.698 [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 [] 06:25:23.698 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/47/a8/47a842970ed16acffe4c1c9dd0684bf7849dc9a355cbe7e03102a5a6f3f77eef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:25:25.258 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d1/56/d1564d57acae22f455329bfa77e34c67417fd9dba97923662be57e204295d80e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:25:25.259 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:25.259 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:25.259 [info] {"args":{"id":1301398},"id":419741,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1807617,"event":"job:stop","queue_time":7450914,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:25:25.265 [info] {"args":{"id":1301400},"id":419743,"meta":{},"system_time":1782732325265575884,"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"]} 06:25:25.265 [debug] QUERY OK source="media_items" db=0.1ms idle=324.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" = ?) [1301400] 06:25:25.266 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:25:25.266 [debug] QUERY OK source="sources" db=0.2ms idle=325.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:25:25.266 [debug] QUERY OK source="media_profiles" db=0.1ms idle=325.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:25.267 [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 [1301400] 06:25:25.268 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301400] 06:25:25.268 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 06:25:25.268 [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 [] 06:25:25.268 [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 [] 06:25:25.268 [debug] Running yt-dlp command for action: get_downloadable_status 06:25:25.269 [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 [] 06:25:25.269 [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 [] 06:25:25.269 [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 [] 06:25:25.269 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/81/a9/81a906fada3b43170f9652445a11afb1061c293385dcebfcae92c3b5f15cb591.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:25:25.454 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/47/a8/47a842970ed16acffe4c1c9dd0684bf7849dc9a355cbe7e03102a5a6f3f77eef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:25:25.455 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:25.455 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:25.455 [info] {"args":{"id":1301399},"id":419742,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1761618,"event":"job:stop","queue_time":7692908,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:25:25.461 [info] {"args":{"id":2720968},"id":419744,"meta":{},"system_time":1782732325461505046,"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"]} 06:25:25.461 [debug] QUERY OK source="media_items" db=0.1ms idle=192.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2720968] 06:25:25.462 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:25:25.462 [debug] QUERY OK source="sources" db=0.1ms idle=192.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:25:25.462 [debug] QUERY OK source="media_profiles" db=0.1ms idle=192.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:25:25.462 [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 [2720968] 06:25:25.463 [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" = ?) [2720968] 06:25:25.463 [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] 06:25:25.464 [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 [] 06:25:25.464 [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 [] 06:25:25.464 [debug] Running yt-dlp command for action: get_downloadable_status 06:25:25.465 [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 [] 06:25:25.465 [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 [] 06:25:25.465 [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 [] 06:25:25.465 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ed/ac/edac5191486491a582d8009b8b25a79e4117292e5421f131a45ad92b9834d40c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:25:27.152 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/81/a9/81a906fada3b43170f9652445a11afb1061c293385dcebfcae92c3b5f15cb591.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:25:27.152 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:27.152 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:27.153 [info] {"args":{"id":1301400},"id":419743,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1887179,"event":"job:stop","queue_time":9264911,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:25:27.285 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ed/ac/edac5191486491a582d8009b8b25a79e4117292e5421f131a45ad92b9834d40c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:25:27.285 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:27.285 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:25:27.286 [info] {"args":{"id":2720968},"id":419744,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1824362,"event":"job:stop","queue_time":9460906,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:25:51.999 [info] {"source":"oban","duration":7740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.986 [info] {"source":"oban","duration":543,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:26:22.009 [info] {"source":"oban","duration":8158,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:26:52.018 [info] {"source":"oban","duration":8037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.987 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:27:22.023 [info] {"source":"oban","duration":4889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:52.032 [info] {"source":"oban","duration":7283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.988 [info] {"source":"oban","duration":138,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:28:22.040 [info] {"source":"oban","duration":7626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:52.046 [info] {"source":"oban","duration":5110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.989 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:29:22.052 [info] {"source":"oban","duration":5876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:29:52.061 [info] {"source":"oban","duration":8930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.990 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:30:22.070 [info] {"source":"oban","duration":7668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:52.077 [info] {"source":"oban","duration":5713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.991 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:31:22.086 [info] {"source":"oban","duration":8416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:52.095 [info] {"source":"oban","duration":8670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:32:00.992 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:32:22.104 [info] {"source":"oban","duration":8427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:52.113 [info] {"source":"oban","duration":8299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.994 [info] {"source":"oban","duration":560,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:33:22.121 [info] {"source":"oban","duration":7956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:33:33.602 [info] {"args":{"id":51},"id":419732,"meta":{},"system_time":1782732813602913535,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:33:33.603 [debug] QUERY OK source="sources" db=0.1ms idle=1661.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:33:33.604 [debug] QUERY OK source="settings" db=0.6ms idle=1662.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:33:33.604 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:33:33.604 [debug] QUERY OK source="settings" db=0.1ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:33:33.604 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 06:33:33.798 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 06:33:33.798 [debug] QUERY OK source="media_items" db=0.4ms idle=195.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 06:33:33.799 [debug] QUERY OK source="media_items" db=0.4ms idle=195.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")))) [51] 06:33:33.800 [debug] QUERY OK source="tasks" db=0.1ms idle=196.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419746, 51, ~U[2026-06-29 11:33:33Z], ~U[2026-06-29 11:33:33Z]] 06:33:33.801 [info] {"args":{"id":51},"id":419732,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":197969,"event":"job:stop","queue_time":636214,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:33:52.131 [info] {"source":"oban","duration":8589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:00.995 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:34:17.667 [info] {"args":{"id":1012071},"id":419311,"meta":{},"system_time":1782732857667041949,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:34:17.667 [debug] QUERY OK source="media_items" db=0.1ms idle=726.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" = ?) [1012071] 06:34:17.667 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:34:17.668 [debug] QUERY OK source="sources" db=0.6ms idle=726.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:34:17.668 [debug] QUERY OK source="media_profiles" db=0.1ms idle=727.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:34:17.668 [debug] QUERY OK source="media_items" db=0.1ms 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 [1012071] 06:34:17.670 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1012071] 06:34:17.670 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:34:17.670 [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 [] 06:34:17.670 [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 [] 06:34:17.670 [debug] Running yt-dlp command for action: get_downloadable_status 06:34:17.671 [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 [] 06:34:17.671 [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 [] 06:34:17.672 [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 [] 06:34:17.672 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z6O3uGuew88 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c3/ab/c3abbdba14544d2eb7c81104cb646ac3b01549d9b7f920ffe619d8d7247e6051.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:34:19.530 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z6O3uGuew88 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c3/ab/c3abbdba14544d2eb7c81104cb646ac3b01549d9b7f920ffe619d8d7247e6051.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] z6O3uGuew88: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:34:19.530 [error] yt-dlp download error for media item #1012071: "ERROR: [youtube] z6O3uGuew88: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:34:19.531 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012071},"id":419311,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1863428,"event":"job:exception","queue_time":431322,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:34:22.140 [info] {"source":"oban","duration":8262,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:52.148 [info] {"source":"oban","duration":7692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:00.996 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:35:16.758 [info] {"args":{"id":52},"id":419745,"meta":{},"system_time":1782732916758489241,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:35:16.759 [debug] QUERY OK source="sources" db=0.6ms idle=1817.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:35:16.759 [debug] QUERY OK source="settings" db=0.1ms idle=1009.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:16.760 [debug] QUERY OK source="media_profiles" db=0.1ms idle=818.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:35:16.760 [debug] QUERY OK source="settings" db=0.5ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:16.760 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 06:35:16.810 [debug] Media ids fetched from RSS: ["HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 06:35:16.810 [debug] QUERY OK source="media_items" db=0.3ms idle=51.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 06:35:16.811 [debug] QUERY OK source="media_items" db=0.6ms idle=51.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")))) [52] 06:35:16.820 [info] {"args":{"id":1301334},"id":419747,"meta":{},"system_time":1782732916820530949,"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"]} 06:35:16.821 [debug] QUERY OK source="media_items" db=0.2ms idle=9.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" = ?) [1301334] 06:35:16.821 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:35:16.821 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [52] 06:35:16.822 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:35:16.822 [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 [1301334] 06:35:16.824 [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" = ?) [1301334] 06:35:16.824 [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] 06:35:16.824 [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 [] 06:35:16.824 [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 [] 06:35:16.828 [debug] QUERY OK source="tasks" db=14.6ms idle=53.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419747, 1301334, ~U[2026-06-29 11:35:16Z], ~U[2026-06-29 11:35:16Z]] 06:35:16.828 [debug] Running yt-dlp command for action: get_downloadable_status 06:35:16.829 [debug] QUERY OK source="settings" db=0.1ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:16.830 [debug] QUERY OK source="settings" db=0.1ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:16.830 [debug] QUERY OK source="settings" db=0.1ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:16.830 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/62/4c/624c55533feb71693e32e09bbc64a22a40849004ba25469a64cd791125af4895.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:35:16.842 [debug] QUERY OK source="tasks" db=3.3ms idle=8.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419748, 1301335, ~U[2026-06-29 11:35:16Z], ~U[2026-06-29 11:35:16Z]] 06:35:16.845 [info] {"args":{"id":1301335},"id":419748,"meta":{},"system_time":1782732916845051221,"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"]} 06:35:16.845 [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" = ?) [1301335] 06:35:16.845 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:35:16.845 [debug] QUERY OK source="tasks" db=0.2ms idle=3.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419749, 1301347, ~U[2026-06-29 11:35:16Z], ~U[2026-06-29 11:35:16Z]] 06:35:16.846 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [52] 06:35:16.846 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 06:35:16.847 [debug] QUERY OK source="media_items" db=0.4ms idle=1.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 [1301335] 06:35:16.848 [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" = ?) [1301335] 06:35:16.848 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 06:35:16.848 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:16.849 [debug] QUERY OK source="tasks" db=0.3ms idle=0.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419750, 1301392, ~U[2026-06-29 11:35:16Z], ~U[2026-06-29 11:35:16Z]] 06:35:16.849 [debug] QUERY OK source="settings" db=0.3ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:16.849 [debug] Running yt-dlp command for action: get_downloadable_status 06:35:16.850 [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 [] 06:35:16.850 [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 [] 06:35:16.850 [debug] QUERY OK source="settings" db=0.2ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:16.850 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0b/6f/0b6f3c2724a445530db67f5bd5bfdb6eb5577bbe34dac20642ed56ea4360be63.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:35:16.852 [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" [419751, 1301393, ~U[2026-06-29 11:35:16Z], ~U[2026-06-29 11:35:16Z]] 06:35:16.855 [debug] QUERY OK source="tasks" db=0.3ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419752, 1301394, ~U[2026-06-29 11:35:16Z], ~U[2026-06-29 11:35:16Z]] 06:35:16.857 [debug] QUERY OK source="tasks" db=0.3ms idle=3.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419753, 1301395, ~U[2026-06-29 11:35:16Z], ~U[2026-06-29 11:35:16Z]] 06:35:16.860 [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" [419754, 1301397, ~U[2026-06-29 11:35:16Z], ~U[2026-06-29 11:35:16Z]] 06:35:16.863 [debug] QUERY OK source="tasks" db=0.2ms idle=3.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419755, 1301398, ~U[2026-06-29 11:35:16Z], ~U[2026-06-29 11:35:16Z]] 06:35:16.865 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419756, 1301399, ~U[2026-06-29 11:35:16Z], ~U[2026-06-29 11:35:16Z]] 06:35:16.868 [debug] QUERY OK source="tasks" db=0.3ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419757, 1301400, ~U[2026-06-29 11:35:16Z], ~U[2026-06-29 11:35:16Z]] 06:35:16.871 [debug] QUERY OK source="tasks" db=0.2ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419758, 2720968, ~U[2026-06-29 11:35:16Z], ~U[2026-06-29 11:35:16Z]] 06:35:16.872 [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" [419759, 52, ~U[2026-06-29 11:35:16Z], ~U[2026-06-29 11:35:16Z]] 06:35:16.872 [info] {"args":{"id":52},"id":419745,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":113681,"event":"job:stop","queue_time":684964,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:35:18.590 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0b/6f/0b6f3c2724a445530db67f5bd5bfdb6eb5577bbe34dac20642ed56ea4360be63.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:35:18.590 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:18.590 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:18.591 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/62/4c/624c55533feb71693e32e09bbc64a22a40849004ba25469a64cd791125af4895.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:35:18.591 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:18.591 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:18.591 [info] {"args":{"id":1301335},"id":419748,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1745947,"event":"job:stop","queue_time":843944,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:35:18.591 [info] {"args":{"id":1301334},"id":419747,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1770777,"event":"job:stop","queue_time":819898,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:35:18.597 [info] {"args":{"id":1301347},"id":419749,"meta":{},"system_time":1782732918597572160,"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"]} 06:35:18.597 [info] {"args":{"id":1301392},"id":419750,"meta":{},"system_time":1782732918597628860,"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"]} 06:35:18.598 [debug] QUERY OK source="media_items" db=0.2ms idle=656.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" = ?) [1301347] 06:35:18.598 [debug] QUERY OK source="media_items" db=0.2ms idle=656.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" = ?) [1301392] 06:35:18.598 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:35:18.598 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:35:18.598 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [52] 06:35:18.598 [debug] QUERY OK source="sources" db=0.2ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:35:18.599 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:35:18.599 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:35:18.599 [debug] QUERY OK source="media_items" db=0.3ms idle=1.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1301347] 06:35:18.599 [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 [1301392] 06:35:18.600 [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" = ?) [1301347] 06:35:18.600 [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] 06:35:18.601 [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" = ?) [1301392] 06:35:18.601 [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 [] 06:35:18.601 [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] 06:35:18.601 [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 [] 06:35:18.601 [debug] Running yt-dlp command for action: get_downloadable_status 06:35:18.601 [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 [] 06:35:18.601 [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 [] 06:35:18.602 [debug] Running yt-dlp command for action: get_downloadable_status 06:35:18.602 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:18.602 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:18.602 [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 [] 06:35:18.602 [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 [] 06:35:18.602 [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 [] 06:35:18.602 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a8/04/a804633bd4f214c7989bece44045db7c57e2e008b4cf4730846dbda96a2914a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:35:18.603 [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 [] 06:35:18.603 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/36/b936fc78c9409d235b839e5cd526ea279566ccd351885daed686b724bb9267de.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:35:20.301 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/36/b936fc78c9409d235b839e5cd526ea279566ccd351885daed686b724bb9267de.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:35:20.301 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:20.301 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:20.302 [info] {"args":{"id":1301392},"id":419750,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1704212,"event":"job:stop","queue_time":2596892,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:35:20.308 [info] {"args":{"id":1301393},"id":419751,"meta":{},"system_time":1782732920308785453,"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"]} 06:35:20.309 [debug] QUERY OK source="media_items" db=0.1ms idle=367.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" = ?) [1301393] 06:35:20.309 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:35:20.309 [debug] QUERY OK source="sources" db=0.1ms idle=368.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:35:20.309 [debug] QUERY OK source="media_profiles" db=0.2ms idle=368.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:35:20.310 [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 [1301393] 06:35:20.311 [debug] QUERY OK source="media_metadata" db=0.0ms 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" = ?) [1301393] 06:35:20.312 [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] 06:35:20.312 [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 [] 06:35:20.312 [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 [] 06:35:20.312 [debug] Running yt-dlp command for action: get_downloadable_status 06:35:20.313 [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 [] 06:35:20.313 [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 [] 06:35:20.313 [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 [] 06:35:20.313 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3f/7f/3f7f46a93f9c079b41d9e3c7d31e60ee9371433ff8694c22b99a3b27991e5a9a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:35:20.429 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a8/04/a804633bd4f214c7989bece44045db7c57e2e008b4cf4730846dbda96a2914a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:35:20.429 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:20.430 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:20.430 [info] {"args":{"id":1301347},"id":419749,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1832468,"event":"job:stop","queue_time":2596892,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:35:20.436 [info] {"args":{"id":1301394},"id":419752,"meta":{},"system_time":1782732920436447383,"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"]} 06:35:20.436 [debug] QUERY OK source="media_items" db=0.1ms idle=123.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" = ?) [1301394] 06:35:20.436 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:35:20.437 [debug] QUERY OK source="sources" db=0.1ms idle=123.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:35:20.437 [debug] QUERY OK source="media_profiles" db=0.1ms idle=123.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:35:20.437 [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 [1301394] 06:35:20.438 [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" = ?) [1301394] 06:35:20.438 [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] 06:35:20.439 [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 [] 06:35:20.439 [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 [] 06:35:20.439 [debug] Running yt-dlp command for action: get_downloadable_status 06:35:20.439 [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 [] 06:35:20.439 [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 [] 06:35:20.439 [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 [] 06:35:20.440 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d4/64/d4646f2b1970bde001a1359212d26a49190856c771458b88b229ebc4570050aa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:35:21.921 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3f/7f/3f7f46a93f9c079b41d9e3c7d31e60ee9371433ff8694c22b99a3b27991e5a9a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:35:21.921 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:21.921 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:21.921 [info] {"args":{"id":1301393},"id":419751,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1612737,"event":"job:stop","queue_time":4307960,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:35:21.928 [info] {"args":{"id":1301395},"id":419753,"meta":{},"system_time":1782732921928531702,"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"]} 06:35:21.928 [debug] QUERY OK source="media_items" db=0.1ms idle=1488.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" = ?) [1301395] 06:35:21.929 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:35:21.929 [debug] QUERY OK source="sources" db=0.1ms idle=1171.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:35:21.929 [debug] QUERY OK source="media_profiles" db=0.1ms idle=170.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:35:21.929 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301395] 06:35:21.930 [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" = ?) [1301395] 06:35:21.931 [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] 06:35:21.931 [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 [] 06:35:21.931 [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 [] 06:35:21.931 [debug] Running yt-dlp command for action: get_downloadable_status 06:35:21.932 [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 [] 06:35:21.932 [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 [] 06:35:21.932 [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 [] 06:35:21.932 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/bb/3dbbe63490b2e0e9c5d6b6b3f685ed9e3c8451f6ddfd7a8d62f72a856a4d4eb8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:35:22.156 [info] {"source":"oban","duration":7951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:22.274 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d4/64/d4646f2b1970bde001a1359212d26a49190856c771458b88b229ebc4570050aa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:35:22.274 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:22.274 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:22.275 [info] {"args":{"id":1301394},"id":419752,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1838128,"event":"job:stop","queue_time":4435902,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:35:22.281 [info] {"args":{"id":1301397},"id":419754,"meta":{},"system_time":1782732922281719641,"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"]} 06:35:22.282 [debug] QUERY OK source="media_items" db=0.1ms idle=349.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" = ?) [1301397] 06:35:22.282 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:35:22.282 [debug] QUERY OK source="sources" db=0.2ms idle=349.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:35:22.283 [debug] QUERY OK source="media_profiles" db=0.6ms idle=125.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:35:22.283 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301397] 06:35:22.284 [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" = ?) [1301397] 06:35:22.284 [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] 06:35:22.285 [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 [] 06:35:22.285 [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 [] 06:35:22.285 [debug] Running yt-dlp command for action: get_downloadable_status 06:35:22.286 [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 [] 06:35:22.286 [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 [] 06:35:22.286 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:22.286 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/86/648655b8ba68e283b395edb93d407353643e08be9808a336610ce345fed3d2aa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:35:23.642 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/bb/3dbbe63490b2e0e9c5d6b6b3f685ed9e3c8451f6ddfd7a8d62f72a856a4d4eb8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:35:23.642 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:23.642 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:23.643 [info] {"args":{"id":1301395},"id":419753,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1714187,"event":"job:stop","queue_time":5927916,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:35:23.650 [info] {"args":{"id":1301398},"id":419755,"meta":{},"system_time":1782732923649996599,"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"]} 06:35:23.650 [debug] QUERY OK source="media_items" db=0.1ms idle=1364.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" = ?) [1301398] 06:35:23.650 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:35:23.650 [debug] QUERY OK source="sources" db=0.1ms idle=1364.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:35:23.651 [debug] QUERY OK source="media_profiles" db=0.1ms idle=890.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:35:23.651 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301398] 06:35:23.652 [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" = ?) [1301398] 06:35:23.652 [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] 06:35:23.652 [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 [] 06:35:23.652 [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 [] 06:35:23.653 [debug] Running yt-dlp command for action: get_downloadable_status 06:35:23.653 [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 [] 06:35:23.654 [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 [] 06:35:23.654 [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 [] 06:35:23.654 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/c2/d8c227d7ffad388e7a67d4a504e79bd800f5f630c6ef707a432461eb52c920bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:35:24.031 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/86/648655b8ba68e283b395edb93d407353643e08be9808a336610ce345fed3d2aa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:35:24.032 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:24.032 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:24.032 [info] {"args":{"id":1301397},"id":419754,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1750398,"event":"job:stop","queue_time":6280911,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:35:24.038 [info] {"args":{"id":1301399},"id":419756,"meta":{},"system_time":1782732924038766573,"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"]} 06:35:24.039 [debug] QUERY OK source="media_items" db=0.2ms idle=384.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" = ?) [1301399] 06:35:24.039 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:35:24.039 [debug] QUERY OK source="sources" db=0.2ms idle=385.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:35:24.040 [debug] QUERY OK source="media_profiles" db=0.2ms idle=277.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:35:24.040 [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 [1301399] 06:35:24.040 [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" = ?) [1301399] 06:35:24.040 [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] 06:35:24.041 [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 [] 06:35:24.041 [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 [] 06:35:24.041 [debug] Running yt-dlp command for action: get_downloadable_status 06:35:24.043 [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 [] 06:35:24.043 [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 [] 06:35:24.043 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:24.043 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/9a/d79a05677419285f4477c8397525c13b9da8ab25a8d53f8ab0895327f377cb88.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:35:25.510 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/c2/d8c227d7ffad388e7a67d4a504e79bd800f5f630c6ef707a432461eb52c920bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:35:25.510 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:25.510 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:25.511 [info] {"args":{"id":1301398},"id":419755,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1860762,"event":"job:stop","queue_time":7648909,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:35:25.518 [info] {"args":{"id":1301400},"id":419757,"meta":{},"system_time":1782732925517986230,"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"]} 06:35:25.518 [debug] QUERY OK source="media_items" db=0.1ms idle=1474.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" = ?) [1301400] 06:35:25.518 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:35:25.519 [debug] QUERY OK source="sources" db=0.2ms idle=1475.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:35:25.519 [debug] QUERY OK source="media_profiles" db=0.1ms idle=755.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:35:25.519 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301400] 06:35:25.521 [debug] QUERY OK source="media_metadata" db=0.0ms 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" = ?) [1301400] 06:35:25.521 [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] 06:35:25.521 [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 [] 06:35:25.521 [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 [] 06:35:25.521 [debug] Running yt-dlp command for action: get_downloadable_status 06:35:25.523 [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 [] 06:35:25.524 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:25.524 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:35:25.524 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/b8/00b89919e3a7444f75086755b1faeccaf20f4038dfa61abae75ae8aa46475565.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:35:25.778 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/9a/d79a05677419285f4477c8397525c13b9da8ab25a8d53f8ab0895327f377cb88.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:35:25.778 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:25.778 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:25.779 [info] {"args":{"id":1301399},"id":419756,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1740098,"event":"job:stop","queue_time":8037939,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:35:25.785 [info] {"args":{"id":2720968},"id":419758,"meta":{},"system_time":1782732925785628957,"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"]} 06:35:25.785 [debug] QUERY OK source="media_items" db=0.1ms idle=261.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" = ?) [2720968] 06:35:25.786 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:35:25.786 [debug] QUERY OK source="sources" db=0.2ms idle=261.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:35:25.786 [debug] QUERY OK source="media_profiles" db=0.2ms idle=21.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:35:25.787 [debug] QUERY OK source="media_items" db=0.3ms 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 [2720968] 06:35:25.788 [debug] QUERY OK source="media_metadata" db=0.0ms 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" = ?) [2720968] 06:35:25.788 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:35:25.789 [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 [] 06:35:25.789 [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 [] 06:35:25.789 [debug] Running yt-dlp command for action: get_downloadable_status 06:35:25.790 [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 [] 06:35:25.790 [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 [] 06:35:25.791 [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 [] 06:35:25.791 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/47/f447f2945b67b502467c7ce8efff9b845c6dfb61d70929cec1e1a9a70fb33cb2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:35:27.402 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/b8/00b89919e3a7444f75086755b1faeccaf20f4038dfa61abae75ae8aa46475565.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:35:27.402 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:27.402 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:27.402 [info] {"args":{"id":1301400},"id":419757,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1884418,"event":"job:stop","queue_time":9516899,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:35:27.623 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/47/f447f2945b67b502467c7ce8efff9b845c6dfb61d70929cec1e1a9a70fb33cb2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:35:27.623 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:27.623 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:35:27.623 [info] {"args":{"id":2720968},"id":419758,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1837796,"event":"job:stop","queue_time":9784937,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:35:52.166 [info] {"source":"oban","duration":7829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:00.997 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:36:22.172 [info] {"source":"oban","duration":5449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:36:52.181 [info] {"source":"oban","duration":8053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:56.911 [info] {"args":{"id":30},"id":419717,"meta":{},"system_time":1782733016911859161,"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"]} 06:36:56.912 [debug] QUERY OK source="sources" db=0.6ms idle=1008.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:36:56.912 [debug] QUERY OK source="settings" db=0.1ms idle=971.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:36:56.918 [debug] QUERY OK source="media_items" db=5.5ms idle=971.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")))) [30] 06:36:56.919 [debug] QUERY OK source="media_items" db=0.7ms idle=13.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 06:36:56.919 [debug] QUERY OK source="media_profiles" db=0.0ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:36:56.920 [debug] QUERY OK source="settings" db=0.0ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:36:56.920 [debug] QUERY OK source="settings" db=0.0ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:36:56.924 [debug] QUERY OK source="media_items" db=3.7ms 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 [30] 06:36:56.926 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 06:36:56.926 [debug] Current batch of media processed. Will check again in 1000ms 06:36:56.926 [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 [] 06:36:56.926 [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 [] 06:36:56.926 [debug] QUERY OK source="settings" db=0.0ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:36:56.926 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCld68syR8Wi-GY_n4CaoJGA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/b2/9b/b29becfe52d5d93333cf1b71dff65d8907df643687cc416306d5d1c89912d85a.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/8e/d3/8ed38be5b021be2b7aa24fe01bb5b0084608c6dcc0f6ffb0c89338dec6401f31.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:36:57.926 [debug] Current batch of media processed. Will check again in 1000ms 06:36:58.928 [debug] Current batch of media processed. Will check again in 1000ms 06:36:59.929 [debug] Current batch of media processed. Will check again in 1000ms 06:37:00.929 [debug] Current batch of media processed. Will check again in 1000ms 06:37:00.998 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:37:01.931 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1191, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", "id" => "3PzEmiSDgd0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3PzEmiSDgd0", "playlist_index" => 1, "timestamp" => 1782667801, "title" => "I tried installing Steam OS", "upload_date" => "20260628"} 06:37:01.932 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1990.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:37:01.932 [debug] QUERY OK source="sources" db=0.1ms idle=1991.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:37:01.937 [debug] QUERY OK source="media_items" db=4.9ms idle=1022.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 17:30:01Z], 30] 06:37:01.939 [debug] QUERY OK source="media_items" db=1.7ms idle=939.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "051f6d74-5c93-443f-ad67-afdd55496ca7", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, false, false, 30, [], 98, ~U[2026-06-28 17:30:01Z], ~U[2026-06-29 11:37:01Z], ~U[2026-06-29 11:37:01Z], "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, 30, ~U[2026-06-28 17:30:01Z]] 06:37:01.940 [debug] QUERY OK source="sources" db=0.2ms idle=29.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:01.940 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:37:01.940 [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 [3305566] 06:37:01.941 [debug] Current batch of media processed. Will check again in 1000ms 06:37:02.941 [debug] Current batch of media processed. Will check again in 1000ms 06:37:03.943 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1364, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", "id" => "C7rXBdgObno", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=C7rXBdgObno", "playlist_index" => 2, "timestamp" => 1782581435, "title" => "I'm In Love With KDE Plasma's New Theme", "upload_date" => "20260627"} 06:37:03.943 [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 (?)) [30] 06:37:03.943 [debug] QUERY OK source="sources" db=0.1ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:37:03.950 [debug] QUERY OK source="media_items" db=6.1ms idle=1003.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-27 17:30:35Z], 30] 06:37:03.951 [debug] QUERY OK source="media_items" db=1.0ms idle=1009.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "f5826d0b-a072-4713-8565-1e6cda737bba", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, false, false, 30, [], 98, ~U[2026-06-27 17:30:35Z], ~U[2026-06-29 11:37:03Z], ~U[2026-06-29 11:37:03Z], "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, 30, ~U[2026-06-27 17:30:35Z]] 06:37:03.952 [debug] QUERY OK source="sources" db=0.1ms idle=38.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:03.952 [debug] QUERY OK source="media_profiles" db=0.6ms idle=8.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:37:03.953 [debug] QUERY OK source="media_items" db=0.2ms idle=9.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 [3297662] 06:37:03.953 [debug] Current batch of media processed. Will check again in 1000ms 06:37:04.954 [debug] Current batch of media processed. Will check again in 1000ms 06:37:05.955 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1187, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", "id" => "iWcFXmnPYoQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "playlist_index" => 3, "timestamp" => 1782322215, "title" => "I was wrong about SteamOS", "upload_date" => "20260624"} 06:37:05.955 [debug] QUERY OK source="sources" db=0.2ms idle=38.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:37:05.956 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [30] 06:37:05.960 [debug] QUERY OK source="media_items" db=4.5ms idle=15.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-24 17:30:15Z], 30] 06:37:05.962 [debug] QUERY OK source="media_items" db=0.9ms idle=20.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "b009a25c-b3e7-4dcd-bc23-d8b72ae77203", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, false, false, 30, [], 98, ~U[2026-06-24 17:30:15Z], ~U[2026-06-29 11:37:05Z], ~U[2026-06-29 11:37:05Z], "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, 30, ~U[2026-06-24 17:30:15Z]] 06:37:05.962 [debug] QUERY OK source="sources" db=0.1ms idle=21.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:05.962 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:37:05.963 [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 [3274030] 06:37:05.963 [debug] Current batch of media processed. Will check again in 1000ms 06:37:06.964 [debug] Current batch of media processed. Will check again in 1000ms 06:37:07.965 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1559, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", "id" => "wPXqhfgTV9M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wPXqhfgTV9M", "playlist_index" => 4, "timestamp" => 1782235809, "title" => "Stack Overflow Is Having An Existential Crisis", "upload_date" => "20260623"} 06:37:07.965 [debug] QUERY OK source="sources" db=0.2ms idle=45.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:37:07.965 [debug] QUERY OK source="sources" db=0.1ms idle=24.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:07.970 [debug] QUERY OK source="media_items" db=4.6ms idle=25.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-23 17:30:09Z], 30] 06:37:07.972 [debug] QUERY OK source="media_items" db=1.1ms idle=29.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "3aa4acac-242f-44e7-b04d-0d98e20a1928", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, false, false, 30, [], 98, ~U[2026-06-23 17:30:09Z], ~U[2026-06-29 11:37:07Z], ~U[2026-06-29 11:37:07Z], "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, 30, ~U[2026-06-23 17:30:09Z]] 06:37:07.972 [debug] QUERY OK source="sources" db=0.2ms idle=31.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:37:07.972 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:37:07.973 [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 [3266154] 06:37:07.973 [debug] Current batch of media processed. Will check again in 1000ms 06:37:08.974 [debug] Current batch of media processed. Will check again in 1000ms 06:37:09.975 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1169, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", "id" => "xe75b6OSR90", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xe75b6OSR90", "playlist_index" => 5, "timestamp" => 1782149404, "title" => "X11 Will Completely End Without Your Help", "upload_date" => "20260622"} 06:37:09.975 [debug] QUERY OK source="sources" db=0.2ms idle=52.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 06:37:09.976 [debug] QUERY OK source="sources" db=0.1ms idle=34.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:37:09.981 [debug] QUERY OK source="media_items" db=4.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-22 17:30:04Z], 30] 06:37:09.982 [debug] QUERY OK source="media_items" db=0.9ms idle=40.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "5796e40a-c86b-4af9-89dc-4e1aefbd3ae8", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-06-22 17:30:04Z], ~U[2026-06-29 11:37:09Z], ~U[2026-06-29 11:37:09Z], "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, 30, ~U[2026-06-22 17:30:04Z]] 06:37:09.982 [debug] QUERY OK source="sources" db=0.1ms idle=41.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:37:09.983 [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] 06:37:09.983 [debug] QUERY OK source="media_items" db=0.1ms 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 [3258286] 06:37:09.983 [debug] Current batch of media processed. Will check again in 1000ms 06:37:10.984 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1122, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", "id" => "uswAKkgmllA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uswAKkgmllA", "playlist_index" => 6, "timestamp" => 1782063038, "title" => "The Weird World Of Alternate Root DNS", "upload_date" => "20260621"} 06:37:10.985 [debug] QUERY OK source="sources" db=0.2ms 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 (?)) [30] 06:37:10.985 [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" = ?) [30] 06:37:10.990 [debug] QUERY OK source="media_items" db=4.4ms idle=1002.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-21 17:30:38Z], 30] 06:37:10.991 [debug] QUERY OK source="media_items" db=1.0ms idle=1006.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "a5301c84-cc6c-4999-a326-7dab3fdafb66", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, false, false, 30, [], 98, ~U[2026-06-21 17:30:38Z], ~U[2026-06-29 11:37:10Z], ~U[2026-06-29 11:37:10Z], "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, 30, ~U[2026-06-21 17:30:38Z]] 06:37:10.991 [debug] QUERY OK source="sources" db=0.1ms idle=66.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:37:10.992 [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] 06:37:10.992 [debug] QUERY OK source="media_items" db=0.2ms 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 [3250444] 06:37:10.992 [debug] Current batch of media processed. Will check again in 1000ms 06:37:11.993 [debug] Current batch of media processed. Will check again in 1000ms 06:37:12.994 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1488, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", "id" => "VR20JYYXH6Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VR20JYYXH6Q", "playlist_index" => 7, "timestamp" => 1781976608, "title" => "Stay Safe On The AUR In The Face Of Arch Linux Malware", "upload_date" => "20260620"} 06:37:12.994 [debug] QUERY OK source="sources" db=0.2ms idle=65.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:37:12.994 [debug] QUERY OK source="sources" db=0.1ms idle=53.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:37:13.000 [debug] QUERY OK source="media_items" db=5.6ms idle=54.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-20 17:30:08Z], 30] 06:37:13.002 [debug] QUERY OK source="media_items" db=1.3ms idle=60.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "b0c983b5-86f8-4f6b-b93d-7e8197db97e6", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, false, false, 30, [], 98, ~U[2026-06-20 17:30:08Z], ~U[2026-06-29 11:37:13Z], ~U[2026-06-29 11:37:13Z], "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, 30, ~U[2026-06-20 17:30:08Z]] 06:37:13.003 [debug] QUERY OK source="sources" db=0.2ms idle=61.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:37:13.003 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:37:13.004 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [3242381] 06:37:13.004 [debug] Current batch of media processed. Will check again in 1000ms 06:37:14.005 [debug] Current batch of media processed. Will check again in 1000ms 06:37:15.006 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1090, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", "id" => "d7MTYqID8VY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d7MTYqID8VY", "playlist_index" => 8, "timestamp" => 1781803802, "title" => "Tridge Responds To The Claimed Rsync AI Caused Regressions", "upload_date" => "20260618"} 06:37:15.007 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=75.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:37:15.008 [debug] QUERY OK source="sources" db=0.1ms idle=66.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:37:15.012 [debug] QUERY OK source="media_items" db=4.7ms idle=67.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-18 17:30:02Z], 30] 06:37:15.014 [debug] QUERY OK source="media_items" db=0.9ms idle=72.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "3489c9fa-8c5a-4ae2-a4fa-12d2773e9558", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, false, false, 30, [], 98, ~U[2026-06-18 17:30:02Z], ~U[2026-06-29 11:37:15Z], ~U[2026-06-29 11:37:15Z], "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, 30, ~U[2026-06-18 17:30:02Z]] 06:37:15.014 [debug] QUERY OK source="sources" db=0.2ms idle=73.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:37:15.014 [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] 06:37:15.015 [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 [3226631] 06:37:15.015 [debug] Current batch of media processed. Will check again in 1000ms 06:37:16.016 [debug] Current batch of media processed. Will check again in 1000ms 06:37:17.017 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1081, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", "id" => "tgyxIC3J8cs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tgyxIC3J8cs", "playlist_index" => 9, "timestamp" => 1781717431, "title" => "KDE Plasma 6.7 Has Finally Come", "upload_date" => "20260617"} 06:37:17.018 [debug] QUERY OK source="sources" db=0.3ms idle=81.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:37:17.018 [debug] QUERY OK source="sources" db=0.1ms idle=77.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:37:17.023 [debug] QUERY OK source="media_items" db=4.3ms idle=77.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-17 17:30:31Z], 30] 06:37:17.027 [debug] QUERY OK source="media_items" db=3.7ms idle=82.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "d5e8bbe2-f310-4833-87c0-8a215882b392", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, false, false, 30, [], 98, ~U[2026-06-17 17:30:31Z], ~U[2026-06-29 11:37:17Z], ~U[2026-06-29 11:37:17Z], "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, 30, ~U[2026-06-17 17:30:31Z]] 06:37:17.027 [debug] QUERY OK source="sources" db=0.1ms idle=86.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:37:17.028 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:37:17.028 [debug] QUERY OK source="media_items" db=0.2ms idle=9.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 [3218823] 06:37:17.028 [debug] Current batch of media processed. Will check again in 1000ms 06:37:18.029 [debug] Current batch of media processed. Will check again in 1000ms 06:37:19.030 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1130, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", "id" => "VeudOzqpHHs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VeudOzqpHHs", "playlist_index" => 10, "timestamp" => 1781631008, "title" => "The AUR Malware Attack Never Stopped", "upload_date" => "20260616"} 06:37:19.030 [debug] QUERY OK source="sources" db=0.2ms idle=91.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:37:19.031 [debug] QUERY OK source="sources" db=0.1ms idle=89.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:37:19.036 [debug] QUERY OK source="media_items" db=5.7ms idle=90.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-16 17:30:08Z], 30] 06:37:19.039 [debug] QUERY OK source="media_items" db=1.3ms idle=96.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "046a57b8-aa0a-4171-8b98-6d6e4b706067", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, false, false, 30, [], 98, ~U[2026-06-16 17:30:08Z], ~U[2026-06-29 11:37:19Z], ~U[2026-06-29 11:37:19Z], "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, 30, ~U[2026-06-16 17:30:08Z]] 06:37:19.039 [debug] QUERY OK source="sources" db=0.2ms idle=98.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:37:19.039 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:37:19.040 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [3210881] 06:37:19.040 [debug] Current batch of media processed. Will check again in 1000ms 06:37:20.041 [debug] Current batch of media processed. Will check again in 1000ms 06:37:21.042 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1198, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", "id" => "dFnZyoLXVa4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dFnZyoLXVa4", "playlist_index" => 11, "timestamp" => 1781544603, "title" => "Ladybird Browser Stops Accepting Public Pull Requests", "upload_date" => "20260615"} 06:37:21.042 [debug] QUERY OK source="sources" db=0.2ms idle=101.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:37:21.043 [debug] QUERY OK source="sources" db=0.1ms idle=101.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:37:21.047 [debug] QUERY OK source="media_items" db=4.6ms idle=102.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-15 17:30:03Z], 30] 06:37:21.049 [debug] QUERY OK source="media_items" db=1.0ms idle=107.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "0c4ca418-3c84-40a0-8ff0-9db281a3cc05", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, false, false, 30, [], 98, ~U[2026-06-15 17:30:03Z], ~U[2026-06-29 11:37:21Z], ~U[2026-06-29 11:37:21Z], "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, 30, ~U[2026-06-15 17:30:03Z]] 06:37:21.049 [debug] QUERY OK source="sources" db=0.1ms idle=107.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:21.049 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:37:21.050 [debug] QUERY OK source="media_items" db=0.1ms 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 [3202877] 06:37:21.050 [debug] Current batch of media processed. Will check again in 1000ms 06:37:22.051 [debug] Current batch of media processed. Will check again in 1000ms 06:37:22.190 [info] {"source":"oban","duration":8084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:37:23.052 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 3383, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", "id" => "BBwZs0lxeNk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BBwZs0lxeNk", "playlist_index" => 12, "timestamp" => 1781458202, "title" => "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "upload_date" => "20260614"} 06:37:23.053 [debug] QUERY OK source="sources" db=0.3ms idle=863.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:37:23.053 [debug] QUERY OK source="sources" db=0.1ms idle=111.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:37:23.059 [debug] QUERY OK source="media_items" db=4.9ms idle=112.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-14 17:30:02Z], 30] 06:37:23.060 [debug] QUERY OK source="media_items" db=1.1ms idle=117.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "ec070247-893a-4b59-9c87-f9152e15562e", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, false, false, 30, [], 98, ~U[2026-06-14 17:30:02Z], ~U[2026-06-29 11:37:23Z], ~U[2026-06-29 11:37:23Z], "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, 30, ~U[2026-06-14 17:30:02Z]] 06:37:23.060 [debug] QUERY OK source="sources" db=0.1ms idle=115.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:37:23.061 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 06:37:23.062 [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 [3195147] 06:37:23.062 [debug] Current batch of media processed. Will check again in 1000ms 06:37:24.063 [debug] Current batch of media processed. Will check again in 1000ms 06:37:25.064 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1205, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", "id" => "gXQLC3Sontc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gXQLC3Sontc", "playlist_index" => 13, "timestamp" => 1781371817, "title" => "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "upload_date" => "20260613"} 06:37:25.064 [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 (?)) [30] 06:37:25.064 [debug] QUERY OK source="sources" db=0.1ms idle=123.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:37:25.069 [debug] QUERY OK source="media_items" db=4.6ms idle=123.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-13 17:30:17Z], 30] 06:37:25.071 [debug] QUERY OK source="media_items" db=1.1ms idle=128.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "8fdcf63e-2042-42de-b2cb-c502067083d3", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, false, false, 30, [], 98, ~U[2026-06-13 17:30:17Z], ~U[2026-06-29 11:37:25Z], ~U[2026-06-29 11:37:25Z], "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, 30, ~U[2026-06-13 17:30:17Z]] 06:37:25.071 [debug] QUERY OK source="sources" db=0.1ms idle=122.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:37:25.071 [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] 06:37:25.072 [debug] QUERY OK source="media_items" db=0.1ms 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 [3187102] 06:37:25.072 [debug] Current batch of media processed. Will check again in 1000ms 06:37:26.073 [debug] Current batch of media processed. Will check again in 1000ms 06:37:27.074 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1221, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", "id" => "WoxR7fGl4CI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WoxR7fGl4CI", "playlist_index" => 14, "timestamp" => 1781285431, "title" => "Massive AUR Malware Attack: DO NOT UPDATE", "upload_date" => "20260612"} 06:37:27.074 [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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 06:37:27.074 [debug] QUERY OK source="sources" db=0.1ms idle=133.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:27.079 [debug] QUERY OK source="media_items" db=4.6ms idle=134.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-12 17:30:31Z], 30] 06:37:27.081 [debug] QUERY OK source="media_items" db=1.2ms idle=139.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "c70f84b1-47eb-470e-872d-f82ad7ce5194", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, false, false, 30, [], 98, ~U[2026-06-12 17:30:31Z], ~U[2026-06-29 11:37:27Z], ~U[2026-06-29 11:37:27Z], "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, 30, ~U[2026-06-12 17:30:31Z]] 06:37:27.081 [debug] QUERY OK source="sources" db=0.1ms idle=129.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:37:27.082 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:37:27.082 [debug] QUERY OK source="media_items" db=0.1ms 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 [3179203] 06:37:27.082 [debug] Current batch of media processed. Will check again in 1000ms 06:37:28.083 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 827, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", "id" => "_Axl-_DG5eo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_Axl-_DG5eo", "playlist_index" => 15, "timestamp" => 1781199024, "title" => "Brave Origin Charges You For A Problem Brave Created", "upload_date" => "20260611"} 06:37:28.083 [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 (?)) [30] 06:37:28.083 [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" = ?) [30] 06:37:28.089 [debug] QUERY OK source="media_items" db=4.8ms 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-06-11 17:30:24Z], 30] 06:37:28.090 [debug] QUERY OK source="media_items" db=1.1ms idle=1006.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "bed6f2a4-9421-4b80-8e81-230b6f09feac", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, false, false, 30, [], 98, ~U[2026-06-11 17:30:24Z], ~U[2026-06-29 11:37:28Z], ~U[2026-06-29 11:37:28Z], "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, 30, ~U[2026-06-11 17:30:24Z]] 06:37:28.091 [debug] QUERY OK source="sources" db=0.1ms idle=136.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:37:28.091 [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] 06:37:28.091 [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 [3171302] 06:37:28.091 [debug] Current batch of media processed. Will check again in 1000ms 06:37:29.093 [debug] Current batch of media processed. Will check again in 1000ms 06:37:30.094 [debug] Current batch of media processed. Will check again in 1000ms 06:37:31.095 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1017, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", "id" => "nwHjVOcUMaw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nwHjVOcUMaw", "playlist_index" => 16, "timestamp" => 1781112612, "title" => "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "upload_date" => "20260610"} 06:37:31.096 [debug] QUERY OK source="sources" db=0.6ms idle=1154.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:37:31.096 [debug] QUERY OK source="sources" db=0.1ms idle=1155.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:31.101 [debug] QUERY OK source="media_items" db=4.5ms idle=1155.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-10 17:30:12Z], 30] 06:37:31.103 [debug] QUERY OK source="media_items" db=1.2ms idle=1144.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "ab1f761d-00c6-47b0-87af-7579fb399b01", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, false, false, 30, [], 98, ~U[2026-06-10 17:30:12Z], ~U[2026-06-29 11:37:31Z], ~U[2026-06-29 11:37:31Z], "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, 30, ~U[2026-06-10 17:30:12Z]] 06:37:31.103 [debug] QUERY OK source="sources" db=0.1ms idle=144.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:37:31.103 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:37:31.104 [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 [3163522] 06:37:31.104 [debug] Current batch of media processed. Will check again in 1000ms 06:37:32.105 [debug] Current batch of media processed. Will check again in 1000ms 06:37:33.106 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1331, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", "id" => "36pHSM0mzXE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=36pHSM0mzXE", "playlist_index" => 17, "timestamp" => 1781030838, "title" => "GNOME Board Bans Sonny Piers, He Reveals Everything", "upload_date" => "20260609"} 06:37:33.106 [debug] QUERY OK source="sources" db=0.3ms idle=165.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:37:33.107 [debug] QUERY OK source="sources" db=0.2ms idle=166.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:33.112 [debug] QUERY OK source="media_items" db=4.7ms idle=166.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 18:47:18Z], 30] 06:37:33.114 [debug] QUERY OK source="media_items" db=1.3ms idle=171.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "9eb7f71c-a840-4592-b682-691cc8b92793", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, false, false, 30, [], 98, ~U[2026-06-09 18:47:18Z], ~U[2026-06-29 11:37:33Z], ~U[2026-06-29 11:37:33Z], "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, 30, ~U[2026-06-09 18:47:18Z]] 06:37:33.114 [debug] QUERY OK source="sources" db=0.1ms idle=152.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:37:33.114 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:37:33.115 [debug] QUERY OK source="media_items" db=0.1ms 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 [3156119] 06:37:33.115 [debug] Current batch of media processed. Will check again in 1000ms 06:37:34.116 [debug] Current batch of media processed. Will check again in 1000ms 06:37:35.117 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1305, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", "id" => "mawalnYGQkA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mawalnYGQkA", "playlist_index" => 18, "timestamp" => 1780939824, "title" => "Nobody Understands LTS Linux Distros", "upload_date" => "20260608"} 06:37:35.118 [debug] QUERY OK source="sources" db=0.3ms idle=176.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:37:35.118 [debug] QUERY OK source="sources" db=0.1ms idle=177.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:35.123 [debug] QUERY OK source="media_items" db=4.5ms idle=177.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-08 17:30:24Z], 30] 06:37:35.125 [debug] QUERY OK source="media_items" db=1.1ms idle=182.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "f0ee991a-287b-4961-a537-5f650b01ff7d", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, false, false, 30, [], 98, ~U[2026-06-08 17:30:24Z], ~U[2026-06-29 11:37:35Z], ~U[2026-06-29 11:37:35Z], "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, 30, ~U[2026-06-08 17:30:24Z]] 06:37:35.125 [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" = ?) [30] 06:37:35.125 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:37:35.126 [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 [3147694] 06:37:35.126 [debug] Current batch of media processed. Will check again in 1000ms 06:37:36.127 [debug] Current batch of media processed. Will check again in 1000ms 06:37:36.448 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCld68syR8Wi-GY_n4CaoJGA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/b2/9b/b29becfe52d5d93333cf1b71dff65d8907df643687cc416306d5d1c89912d85a.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/8e/d3/8ed38be5b021be2b7aa24fe01bb5b0084608c6dcc0f6ffb0c89338dec6401f31.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 06:37:36.448 [debug] Gracefully stopping file follower 06:37:36.449 [debug] QUERY OK source="sources" db=0.2ms idle=1323.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:37:36.449 [debug] QUERY OK source="sources" db=0.1ms idle=1323.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:37:36.454 [debug] QUERY OK source="media_items" db=4.4ms idle=1323.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-28 17:30:01Z], 30] 06:37:36.455 [debug] QUERY OK source="media_items" db=1.0ms idle=1328.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "1267496a-4ba2-4c74-a0e8-71f2f665280e", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, false, false, 30, [], 98, ~U[2026-06-28 17:30:01Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, 30, ~U[2026-06-28 17:30:01Z]] 06:37:36.455 [debug] QUERY OK source="sources" db=0.1ms idle=489.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.460 [debug] QUERY OK source="media_items" db=4.2ms idle=6.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 17:30:35Z], 30] 06:37:36.461 [debug] QUERY OK source="media_items" db=0.9ms idle=10.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "a3864a7a-cc19-45ad-8451-19c750d1173e", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, false, false, 30, [], 98, ~U[2026-06-27 17:30:35Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, 30, ~U[2026-06-27 17:30:35Z]] 06:37:36.462 [debug] QUERY OK source="sources" db=0.5ms idle=7.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.466 [debug] QUERY OK source="media_items" db=4.3ms idle=7.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-24 17:30:15Z], 30] 06:37:36.468 [debug] QUERY OK source="media_items" db=0.9ms idle=11.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "003c1784-c1c2-415d-8d26-bb2c177c684a", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, false, false, 30, [], 98, ~U[2026-06-24 17:30:15Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, 30, ~U[2026-06-24 17:30:15Z]] 06:37:36.468 [debug] QUERY OK source="sources" db=0.5ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.473 [debug] QUERY OK source="media_items" db=4.0ms 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 17:30:09Z], 30] 06:37:36.474 [debug] QUERY OK source="media_items" db=0.9ms idle=10.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "a49baaef-49b9-4523-8bd3-a14b6d6e6407", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, false, false, 30, [], 98, ~U[2026-06-23 17:30:09Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, 30, ~U[2026-06-23 17:30:09Z]] 06:37:36.475 [debug] QUERY OK source="sources" db=0.5ms idle=7.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.479 [debug] QUERY OK source="media_items" db=4.0ms idle=7.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-22 17:30:04Z], 30] 06:37:36.480 [debug] QUERY OK source="media_items" db=0.8ms idle=10.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "c9007abe-e8b2-4fba-acf4-7d1ea5e6ff10", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-06-22 17:30:04Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, 30, ~U[2026-06-22 17:30:04Z]] 06:37:36.481 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.485 [debug] QUERY OK source="media_items" db=3.9ms idle=6.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-21 17:30:38Z], 30] 06:37:36.486 [debug] QUERY OK source="media_items" db=0.9ms idle=10.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "1bf95a06-0723-4466-a5fe-53cd1aa8839e", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, false, false, 30, [], 98, ~U[2026-06-21 17:30:38Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, 30, ~U[2026-06-21 17:30:38Z]] 06:37:36.487 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.491 [debug] QUERY OK source="media_items" db=4.1ms idle=6.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-20 17:30:08Z], 30] 06:37:36.495 [debug] QUERY OK source="media_items" db=3.5ms idle=10.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "620bf374-e24c-4e00-8b97-9246ae86f990", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, false, false, 30, [], 98, ~U[2026-06-20 17:30:08Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, 30, ~U[2026-06-20 17:30:08Z]] 06:37:36.496 [debug] QUERY OK source="sources" db=0.5ms idle=10.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.500 [debug] QUERY OK source="media_items" db=4.2ms idle=9.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-18 17:30:02Z], 30] 06:37:36.501 [debug] QUERY OK source="media_items" db=1.0ms idle=13.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "cb071895-c764-4ee9-bdfa-a6fd299dd270", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, false, false, 30, [], 98, ~U[2026-06-18 17:30:02Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, 30, ~U[2026-06-18 17:30:02Z]] 06:37:36.502 [debug] QUERY OK source="sources" db=0.5ms idle=10.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.507 [debug] QUERY OK source="media_items" db=4.2ms idle=7.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-17 17:30:31Z], 30] 06:37:36.508 [debug] QUERY OK source="media_items" db=0.9ms idle=11.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "b56d757c-3750-4b66-a086-730f8cbd74a2", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, false, false, 30, [], 98, ~U[2026-06-17 17:30:31Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, 30, ~U[2026-06-17 17:30:31Z]] 06:37:36.508 [debug] QUERY OK source="sources" db=0.5ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.513 [debug] QUERY OK source="media_items" db=4.0ms idle=7.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 17:30:08Z], 30] 06:37:36.514 [debug] QUERY OK source="media_items" db=1.2ms idle=10.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "fd4db51a-3608-4834-ac42-3ef89e30e548", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, false, false, 30, [], 98, ~U[2026-06-16 17:30:08Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, 30, ~U[2026-06-16 17:30:08Z]] 06:37:36.515 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [30] 06:37:36.519 [debug] QUERY OK source="media_items" db=4.1ms idle=7.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-15 17:30:03Z], 30] 06:37:36.525 [debug] QUERY OK source="media_items" db=5.2ms idle=10.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "54dd0e0c-73b7-48e5-884a-ff9e26e452e9", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, false, false, 30, [], 98, ~U[2026-06-15 17:30:03Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, 30, ~U[2026-06-15 17:30:03Z]] 06:37:36.526 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [30] 06:37:36.530 [debug] QUERY OK source="media_items" db=4.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-06-14 17:30:02Z], 30] 06:37:36.547 [debug] QUERY OK source="media_items" db=16.5ms idle=15.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "42a7fac2-f297-47ac-b7e6-edb96bcd6954", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, false, false, 30, [], 98, ~U[2026-06-14 17:30:02Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, 30, ~U[2026-06-14 17:30:02Z]] 06:37:36.548 [debug] QUERY OK source="sources" db=0.6ms idle=28.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:37:36.553 [debug] QUERY OK source="media_items" db=4.3ms idle=23.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:30:17Z], 30] 06:37:36.558 [debug] QUERY OK source="media_items" db=4.5ms idle=27.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "30f7a162-e915-4725-899d-202511c03058", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, false, false, 30, [], 98, ~U[2026-06-13 17:30:17Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, 30, ~U[2026-06-13 17:30:17Z]] 06:37:36.559 [debug] QUERY OK source="sources" db=0.6ms idle=27.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.563 [debug] QUERY OK source="media_items" db=4.1ms 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-06-12 17:30:31Z], 30] 06:37:36.565 [debug] QUERY OK source="media_items" db=1.2ms idle=15.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "d4753cbe-ac86-4b09-9a08-d02e483735ca", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, false, false, 30, [], 98, ~U[2026-06-12 17:30:31Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, 30, ~U[2026-06-12 17:30:31Z]] 06:37:36.565 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [30] 06:37:36.570 [debug] QUERY OK source="media_items" db=4.2ms idle=7.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-11 17:30:24Z], 30] 06:37:36.571 [debug] QUERY OK source="media_items" db=0.9ms idle=11.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "95d16404-aab6-40ab-86ea-65fe740f3d79", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, false, false, 30, [], 98, ~U[2026-06-11 17:30:24Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, 30, ~U[2026-06-11 17:30:24Z]] 06:37:36.572 [debug] QUERY OK source="sources" db=0.5ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.576 [debug] QUERY OK source="media_items" db=4.3ms idle=7.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-10 17:30:12Z], 30] 06:37:36.578 [debug] QUERY OK source="media_items" db=1.0ms idle=11.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "3e1a81fe-3aea-45c2-a42a-51861afd5c91", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, false, false, 30, [], 98, ~U[2026-06-10 17:30:12Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, 30, ~U[2026-06-10 17:30:12Z]] 06:37:36.578 [debug] QUERY OK source="sources" db=0.5ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.583 [debug] QUERY OK source="media_items" db=4.2ms idle=7.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 18:47:18Z], 30] 06:37:36.584 [debug] QUERY OK source="media_items" db=1.0ms idle=11.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "a95167f4-6aea-470c-9e6f-bca70fb37653", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, false, false, 30, [], 98, ~U[2026-06-09 18:47:18Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, 30, ~U[2026-06-09 18:47:18Z]] 06:37:36.585 [debug] QUERY OK source="sources" db=0.5ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.589 [debug] QUERY OK source="media_items" db=4.2ms idle=7.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-08 17:30:24Z], 30] 06:37:36.591 [debug] QUERY OK source="media_items" db=0.9ms idle=11.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "d1e0fc1b-9bd7-4cb6-a872-34fc42d484d6", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, false, false, 30, [], 98, ~U[2026-06-08 17:30:24Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, 30, ~U[2026-06-08 17:30:24Z]] 06:37:36.592 [debug] QUERY OK source="sources" db=0.6ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 06:37:36.596 [debug] QUERY OK source="media_items" db=4.5ms idle=7.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-07 17:30:02Z], 30] 06:37:36.598 [debug] QUERY OK source="media_items" db=1.1ms idle=11.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "bb09aa0e-9555-409d-bd4d-2cf0475561ba", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, false, false, 30, [], 98, ~U[2026-06-07 17:30:02Z], ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], "A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, 30, ~U[2026-06-07 17:30:02Z]] 06:37:36.599 [debug] QUERY OK source="sources" db=0.6ms idle=8.5ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z], 30] 06:37:36.603 [debug] QUERY OK source="media_items" db=4.5ms idle=8.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 06:37:36.608 [debug] QUERY OK source="media_items" db=4.4ms idle=11.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")))) [30] 06:37:36.609 [debug] QUERY OK source="media_items" db=0.7ms idle=11.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 06:37:36.611 [debug] QUERY OK source="tasks" db=0.7ms idle=6.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419760, 30, ~U[2026-06-29 11:37:36Z], ~U[2026-06-29 11:37:36Z]] 06:37:36.611 [info] {"args":{"id":30},"id":419717,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":39699369,"event":"job:stop","queue_time":515765,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 06:37:52.199 [info] {"source":"oban","duration":8175,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.999 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:38:22.208 [info] {"source":"oban","duration":7858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:42.077 [info] {"args":{"id":46},"id":419668,"meta":{},"system_time":1782733122076925153,"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"]} 06:38:42.077 [debug] QUERY OK source="sources" db=0.6ms idle=135.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:38:42.078 [debug] QUERY OK source="settings" db=0.5ms idle=136.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:38:42.079 [debug] QUERY OK source="media_items" db=0.5ms idle=137.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")))) [46] 06:38:42.079 [debug] QUERY OK source="media_items" db=0.1ms idle=9.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [46] 06:38:42.079 [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] 06:38:42.080 [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 [] 06:38:42.080 [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 [] 06:38:42.082 [debug] QUERY OK source="media_items" db=0.6ms 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 [46] 06:38:42.082 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 06:38:42.082 [debug] Current batch of media processed. Will check again in 1000ms 06:38:42.082 [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 [] 06:38:42.083 [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 [] 06:38:42.083 [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 [] 06:38:42.083 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/channel/UCngn7SVujlvskHRvRKc1cTw --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/b9/a2/b9a248de17984a93fe1109d257a04837f649e86a04ba3eab247d13118d5237cd.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/05/51/05517e96f5070d0f0c69cae1db3d03f2092375a51eb58d12df5dc8a394a858a7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:38:43.084 [debug] Current batch of media processed. Will check again in 1000ms 06:38:44.085 [debug] Current batch of media processed. Will check again in 1000ms 06:38:45.086 [debug] Current batch of media processed. Will check again in 1000ms 06:38:46.087 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 394, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e052900_this video will reach you..mp4", "id" => "zbNV7aphQxM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zbNV7aphQxM", "playlist_index" => 1, "timestamp" => 1780088085, "title" => "this video will reach you.", "upload_date" => "20260529"} 06:38:46.088 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=146.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 06:38:46.088 [debug] QUERY OK source="sources" db=0.1ms idle=147.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:38:46.089 [debug] QUERY OK source="media_items" db=0.5ms idle=147.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-29 20:54:45Z], 46] 06:38:46.090 [debug] QUERY OK source="media_items" db=0.5ms idle=148.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "this video will reach you.", "080df21f-1f70-4dd2-a37a-1e4ca28ebdbb", "zbNV7aphQxM", 394, false, "https://www.youtube.com/watch?v=zbNV7aphQxM", 1, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e052900_this video will reach you..mp4", false, false, false, 46, [], 98, ~U[2026-05-29 20:54:45Z], ~U[2026-06-29 11:38:46Z], ~U[2026-06-29 11:38:46Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "this video will reach you.", "zbNV7aphQxM", 394, false, "https://www.youtube.com/watch?v=zbNV7aphQxM", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e052900_this video will reach you..mp4", false, 46, ~U[2026-05-29 20:54:45Z]] 06:38:46.090 [debug] QUERY OK source="sources" db=0.2ms idle=14.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 06:38:46.091 [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] 06:38:46.091 [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 [3070801] 06:38:46.091 [debug] Current batch of media processed. Will check again in 1000ms 06:38:47.092 [debug] Current batch of media processed. Will check again in 1000ms 06:38:48.093 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 744, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e050600_where intelligence ends & wisdom starts ?.mp4", "id" => "cB4VjDpNMrU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cB4VjDpNMrU", "playlist_index" => 2, "timestamp" => 1778047426, "title" => "where intelligence ends & wisdom starts ?", "upload_date" => "20260506"} 06:38:48.093 [debug] QUERY OK source="sources" db=0.2ms idle=152.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:38:48.094 [debug] QUERY OK source="sources" db=0.1ms idle=152.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:38:48.094 [debug] QUERY OK source="media_items" db=0.4ms idle=153.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-06 06:03:46Z], 46] 06:38:48.095 [debug] QUERY OK source="media_items" db=0.4ms idle=153.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "where intelligence ends & wisdom starts ?", "8e3c8e8e-c991-42a5-8e19-3b9adc9a7b13", "cB4VjDpNMrU", 744, false, "https://www.youtube.com/watch?v=cB4VjDpNMrU", 2, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e050600_where intelligence ends & wisdom starts ?.mp4", false, false, false, 46, [], 98, ~U[2026-05-06 06:03:46Z], ~U[2026-06-29 11:38:48Z], ~U[2026-06-29 11:38:48Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "where intelligence ends & wisdom starts ?", "cB4VjDpNMrU", 744, false, "https://www.youtube.com/watch?v=cB4VjDpNMrU", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e050600_where intelligence ends & wisdom starts ?.mp4", false, 46, ~U[2026-05-06 06:03:46Z]] 06:38:48.095 [debug] QUERY OK source="sources" db=0.1ms idle=15.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 06:38:48.096 [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] 06:38:48.096 [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 [2889160] 06:38:48.096 [debug] Current batch of media processed. Will check again in 1000ms 06:38:49.097 [debug] Current batch of media processed. Will check again in 1000ms 06:38:50.098 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 549, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022800_Linux ⧸ FOSS are irrelevant in the future.mp4", "id" => "fLmIRC8R19s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fLmIRC8R19s", "playlist_index" => 3, "timestamp" => 1772314079, "title" => "Linux / FOSS are irrelevant in the future", "upload_date" => "20260228"} 06:38:50.098 [debug] QUERY OK source="sources" db=0.1ms idle=157.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:38:50.098 [debug] QUERY OK source="sources" db=0.1ms idle=157.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:38:50.099 [debug] QUERY OK source="media_items" db=0.4ms idle=157.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-28 21:27:59Z], 46] 06:38:50.100 [debug] QUERY OK source="media_items" db=0.4ms idle=158.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Linux / FOSS are irrelevant in the future", "80b51fb0-3278-4d7b-ab2f-ab785db5b298", "fLmIRC8R19s", 549, false, "https://www.youtube.com/watch?v=fLmIRC8R19s", 3, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022800_Linux ⧸ FOSS are irrelevant in the future.mp4", false, false, false, 46, [], 98, ~U[2026-02-28 21:27:59Z], ~U[2026-06-29 11:38:50Z], ~U[2026-06-29 11:38:50Z], "Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Linux / FOSS are irrelevant in the future", "fLmIRC8R19s", 549, false, "https://www.youtube.com/watch?v=fLmIRC8R19s", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022800_Linux ⧸ FOSS are irrelevant in the future.mp4", false, 46, ~U[2026-02-28 21:27:59Z]] 06:38:50.100 [debug] QUERY OK source="sources" db=0.1ms idle=18.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:38:50.100 [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] 06:38:50.100 [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 [2377781] 06:38:50.101 [debug] Current batch of media processed. Will check again in 1000ms 06:38:51.102 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 507, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022600_HOST FREE from home (no tunnel, no VPS, no Static IP).mp4", "id" => "7y60xBovdnI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7y60xBovdnI", "playlist_index" => 4, "timestamp" => 1772097703, "title" => "HOST FREE from home (no tunnel, no VPS, no Static IP)", "upload_date" => "20260226"} 06:38:51.102 [debug] QUERY OK source="sources" db=0.2ms 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 (?)) [46] 06:38:51.103 [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" = ?) [46] 06:38:51.103 [debug] QUERY OK source="media_items" db=0.4ms idle=1002.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-26 09:21:43Z], 46] 06:38:51.104 [debug] QUERY OK source="media_items" db=0.4ms idle=1002.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "HOST FREE from home (no tunnel, no VPS, no Static IP)", "82c74a20-83c3-4de5-8c66-e9bb6b753dbd", "7y60xBovdnI", 507, false, "https://www.youtube.com/watch?v=7y60xBovdnI", 4, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022600_HOST FREE from home (no tunnel, no VPS, no Static IP).mp4", false, false, false, 46, [], 98, ~U[2026-02-26 09:21:43Z], ~U[2026-06-29 11:38:51Z], ~U[2026-06-29 11:38:51Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "HOST FREE from home (no tunnel, no VPS, no Static IP)", "7y60xBovdnI", 507, false, "https://www.youtube.com/watch?v=7y60xBovdnI", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022600_HOST FREE from home (no tunnel, no VPS, no Static IP).mp4", false, 46, ~U[2026-02-26 09:21:43Z]] 06:38:51.104 [debug] QUERY OK source="sources" db=0.2ms idle=21.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:38:51.104 [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] 06:38:51.105 [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 [2358266] 06:38:51.105 [debug] Current batch of media processed. Will check again in 1000ms 06:38:52.106 [debug] Current batch of media processed. Will check again in 1000ms 06:38:52.216 [info] {"source":"oban","duration":7745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:53.107 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 684, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022000_MacOS *float vs Hyprland *tile.mp4", "id" => "LrOuqMzKdAE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LrOuqMzKdAE", "playlist_index" => 5, "timestamp" => 1771588269, "title" => "MacOS *float vs Hyprland *tile", "upload_date" => "20260220"} 06:38:53.107 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=890.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:38:53.108 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 06:38:53.108 [debug] QUERY OK source="media_items" db=0.4ms idle=166.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-20 11:51:09Z], 46] 06:38:53.109 [debug] QUERY OK source="media_items" db=0.4ms idle=167.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "MacOS *float vs Hyprland *tile", "0edc8bfc-93ce-43e6-8163-5c4e7639b670", "LrOuqMzKdAE", 684, false, "https://www.youtube.com/watch?v=LrOuqMzKdAE", 5, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022000_MacOS *float vs Hyprland *tile.mp4", false, false, false, 46, [], 98, ~U[2026-02-20 11:51:09Z], ~U[2026-06-29 11:38:53Z], ~U[2026-06-29 11:38:53Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "MacOS *float vs Hyprland *tile", "LrOuqMzKdAE", 684, false, "https://www.youtube.com/watch?v=LrOuqMzKdAE", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022000_MacOS *float vs Hyprland *tile.mp4", false, 46, ~U[2026-02-20 11:51:09Z]] 06:38:53.109 [debug] QUERY OK source="sources" db=0.1ms idle=23.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:38:53.110 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 06:38:53.110 [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 [2312061] 06:38:53.110 [debug] Current batch of media processed. Will check again in 1000ms 06:38:54.112 [debug] Current batch of media processed. Will check again in 1000ms 06:38:55.113 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "- https://youtu.be/2BO83Ig-E8E\n- https://youtu.be/yZVuMhbNE9s\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 1711, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e021400_freedom is a meme just like your life.mp4", "id" => "kD1VhTacIc8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kD1VhTacIc8", "playlist_index" => 6, "timestamp" => 1771110716, "title" => "freedom is a meme just like your life", "upload_date" => "20260214"} 06:38:55.113 [debug] QUERY OK source="sources" db=0.2ms idle=171.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:38:55.113 [debug] QUERY OK source="sources" db=0.1ms idle=172.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:38:55.114 [debug] QUERY OK source="media_items" db=0.4ms idle=172.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 23:11:56Z], 46] 06:38:55.115 [debug] QUERY OK source="media_items" db=0.4ms idle=173.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["- https://youtu.be/2BO83Ig-E8E\n- https://youtu.be/yZVuMhbNE9s\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "freedom is a meme just like your life", "4e86d48b-6394-4366-9874-1ea4602a4624", "kD1VhTacIc8", 1711, false, "https://www.youtube.com/watch?v=kD1VhTacIc8", 6, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e021400_freedom is a meme just like your life.mp4", false, false, false, 46, [], 98, ~U[2026-02-14 23:11:56Z], ~U[2026-06-29 11:38:55Z], ~U[2026-06-29 11:38:55Z], "- https://youtu.be/2BO83Ig-E8E\n- https://youtu.be/yZVuMhbNE9s\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "freedom is a meme just like your life", "kD1VhTacIc8", 1711, false, "https://www.youtube.com/watch?v=kD1VhTacIc8", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e021400_freedom is a meme just like your life.mp4", false, 46, ~U[2026-02-14 23:11:56Z]] 06:38:55.115 [debug] QUERY OK source="sources" db=0.1ms idle=26.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:38:55.115 [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] 06:38:55.116 [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 [2269214] 06:38:55.116 [debug] Current batch of media processed. Will check again in 1000ms 06:38:56.117 [debug] Current batch of media processed. Will check again in 1000ms 06:38:57.118 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Donation (I put no ads) - https://paypal.me/bugswriter \nMy Mantra Page - https://bugswriter.com/mantra\n\nmaterial - \n- https://plato.stanford.edu/entries/nagarjuna/\n- https://youtu.be/FbZDqFyTWzk\n- https://youtu.be/VIwObHep47s\n- seeker to seeker - emptiness video & 12 link of dependent origination\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 748, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e020900_Tibetan Anti-philosophy can end your DOOM Scrolling.mp4", "id" => "f4vblLRAYSg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f4vblLRAYSg", "playlist_index" => 7, "timestamp" => 1770629468, "title" => "Tibetan Anti-philosophy can end your DOOM Scrolling", "upload_date" => "20260209"} 06:38:57.118 [debug] QUERY OK source="sources" db=0.1ms idle=177.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:38:57.118 [debug] QUERY OK source="sources" db=0.0ms idle=177.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 06:38:57.119 [debug] QUERY OK source="media_items" db=0.4ms idle=177.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-09 09:31:08Z], 46] 06:38:57.120 [debug] QUERY OK source="media_items" db=0.5ms idle=178.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Donation (I put no ads) - https://paypal.me/bugswriter \nMy Mantra Page - https://bugswriter.com/mantra\n\nmaterial - \n- https://plato.stanford.edu/entries/nagarjuna/\n- https://youtu.be/FbZDqFyTWzk\n- https://youtu.be/VIwObHep47s\n- seeker to seeker - emptiness video & 12 link of dependent origination\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Tibetan Anti-philosophy can end your DOOM Scrolling", "c050437c-eab7-4926-a361-494040f9934e", "f4vblLRAYSg", 748, false, "https://www.youtube.com/watch?v=f4vblLRAYSg", 7, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e020900_Tibetan Anti-philosophy can end your DOOM Scrolling.mp4", false, false, false, 46, [], 98, ~U[2026-02-09 09:31:08Z], ~U[2026-06-29 11:38:57Z], ~U[2026-06-29 11:38:57Z], "Donation (I put no ads) - https://paypal.me/bugswriter \nMy Mantra Page - https://bugswriter.com/mantra\n\nmaterial - \n- https://plato.stanford.edu/entries/nagarjuna/\n- https://youtu.be/FbZDqFyTWzk\n- https://youtu.be/VIwObHep47s\n- seeker to seeker - emptiness video & 12 link of dependent origination\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Tibetan Anti-philosophy can end your DOOM Scrolling", "f4vblLRAYSg", 748, false, "https://www.youtube.com/watch?v=f4vblLRAYSg", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e020900_Tibetan Anti-philosophy can end your DOOM Scrolling.mp4", false, 46, ~U[2026-02-09 09:31:08Z]] 06:38:57.120 [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" = ?) [46] 06:38:57.120 [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] 06:38:57.121 [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 [2225383] 06:38:57.121 [debug] Current batch of media processed. Will check again in 1000ms 06:38:58.122 [debug] Current batch of media processed. Will check again in 1000ms 06:38:59.123 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 829, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e012600_Freedom vs Compliance.mp4", "id" => "f5qgJ9xThYs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f5qgJ9xThYs", "playlist_index" => 8, "timestamp" => 1769459768, "title" => "Freedom vs Compliance", "upload_date" => "20260126"} 06:38:59.123 [debug] QUERY OK source="sources" db=0.2ms idle=182.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 06:38:59.123 [debug] QUERY OK source="sources" db=0.1ms idle=182.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:38:59.124 [debug] QUERY OK source="media_items" db=0.5ms idle=182.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-26 20:36:08Z], 46] 06:38:59.126 [debug] QUERY OK source="media_items" db=2.0ms idle=183.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Freedom vs Compliance", "0b4cbedb-1b3c-4e8b-85bd-00a6f683ce38", "f5qgJ9xThYs", 829, false, "https://www.youtube.com/watch?v=f5qgJ9xThYs", 8, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e012600_Freedom vs Compliance.mp4", false, false, false, 46, [], 98, ~U[2026-01-26 20:36:08Z], ~U[2026-06-29 11:38:59Z], ~U[2026-06-29 11:38:59Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Freedom vs Compliance", "f5qgJ9xThYs", 829, false, "https://www.youtube.com/watch?v=f5qgJ9xThYs", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e012600_Freedom vs Compliance.mp4", false, 46, ~U[2026-01-26 20:36:08Z]] 06:38:59.127 [debug] QUERY OK source="sources" db=0.2ms idle=33.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 06:38:59.127 [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] 06:38:59.127 [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 [2117716] 06:38:59.128 [debug] Current batch of media processed. Will check again in 1000ms 06:39:00.129 [debug] Current batch of media processed. Will check again in 1000ms 06:39:00.533 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/channel/UCngn7SVujlvskHRvRKc1cTw --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/b9/a2/b9a248de17984a93fe1109d257a04837f649e86a04ba3eab247d13118d5237cd.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/05/51/05517e96f5070d0f0c69cae1db3d03f2092375a51eb58d12df5dc8a394a858a7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 06:39:00.534 [debug] Gracefully stopping file follower 06:39:00.534 [debug] QUERY OK source="sources" db=0.1ms idle=1407.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:39:00.534 [debug] QUERY OK source="sources" db=0.1ms idle=1407.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:39:00.535 [debug] QUERY OK source="media_items" db=0.4ms idle=1407.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-29 20:54:45Z], 46] 06:39:00.535 [debug] QUERY OK source="media_items" db=0.4ms idle=1407.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "this video will reach you.", "00aefce8-48bd-4fa8-a632-edb1e9784dd4", "zbNV7aphQxM", 394, false, "https://www.youtube.com/watch?v=zbNV7aphQxM", 1, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e052900_this video will reach you..mp4", false, false, false, 46, [], 98, ~U[2026-05-29 20:54:45Z], ~U[2026-06-29 11:39:00Z], ~U[2026-06-29 11:39:00Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "this video will reach you.", "zbNV7aphQxM", 394, false, "https://www.youtube.com/watch?v=zbNV7aphQxM", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e052900_this video will reach you..mp4", false, 46, ~U[2026-05-29 20:54:45Z]] 06:39:00.536 [debug] QUERY OK source="sources" db=0.1ms idle=441.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:39:00.536 [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-06 06:03:46Z], 46] 06:39:00.537 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "where intelligence ends & wisdom starts ?", "3a9591f2-e456-47e9-a996-3b95d3e655fa", "cB4VjDpNMrU", 744, false, "https://www.youtube.com/watch?v=cB4VjDpNMrU", 2, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e050600_where intelligence ends & wisdom starts ?.mp4", false, false, false, 46, [], 98, ~U[2026-05-06 06:03:46Z], ~U[2026-06-29 11:39:00Z], ~U[2026-06-29 11:39:00Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "where intelligence ends & wisdom starts ?", "cB4VjDpNMrU", 744, false, "https://www.youtube.com/watch?v=cB4VjDpNMrU", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e050600_where intelligence ends & wisdom starts ?.mp4", false, 46, ~U[2026-05-06 06:03:46Z]] 06:39:00.537 [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] 06:39:00.538 [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-02-28 21:27:59Z], 46] 06:39:00.539 [debug] QUERY OK source="media_items" db=0.5ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Linux / FOSS are irrelevant in the future", "7f0020c7-45ec-49af-a976-883e16337bc8", "fLmIRC8R19s", 549, false, "https://www.youtube.com/watch?v=fLmIRC8R19s", 3, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022800_Linux ⧸ FOSS are irrelevant in the future.mp4", false, false, false, 46, [], 98, ~U[2026-02-28 21:27:59Z], ~U[2026-06-29 11:39:00Z], ~U[2026-06-29 11:39:00Z], "Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Linux / FOSS are irrelevant in the future", "fLmIRC8R19s", 549, false, "https://www.youtube.com/watch?v=fLmIRC8R19s", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022800_Linux ⧸ FOSS are irrelevant in the future.mp4", false, 46, ~U[2026-02-28 21:27:59Z]] 06:39:00.539 [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" = ?) [46] 06:39:00.539 [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-02-26 09:21:43Z], 46] 06:39:00.540 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "HOST FREE from home (no tunnel, no VPS, no Static IP)", "1761a9f7-673b-492d-a59c-9f52598a970a", "7y60xBovdnI", 507, false, "https://www.youtube.com/watch?v=7y60xBovdnI", 4, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022600_HOST FREE from home (no tunnel, no VPS, no Static IP).mp4", false, false, false, 46, [], 98, ~U[2026-02-26 09:21:43Z], ~U[2026-06-29 11:39:00Z], ~U[2026-06-29 11:39:00Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "HOST FREE from home (no tunnel, no VPS, no Static IP)", "7y60xBovdnI", 507, false, "https://www.youtube.com/watch?v=7y60xBovdnI", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022600_HOST FREE from home (no tunnel, no VPS, no Static IP).mp4", false, 46, ~U[2026-02-26 09:21:43Z]] 06:39:00.540 [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] 06:39:00.541 [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-20 11:51:09Z], 46] 06:39:00.542 [debug] QUERY OK source="media_items" db=0.5ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "MacOS *float vs Hyprland *tile", "7ec67c09-4bfc-47d4-a48e-c3ba1de7acb9", "LrOuqMzKdAE", 684, false, "https://www.youtube.com/watch?v=LrOuqMzKdAE", 5, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022000_MacOS *float vs Hyprland *tile.mp4", false, false, false, 46, [], 98, ~U[2026-02-20 11:51:09Z], ~U[2026-06-29 11:39:00Z], ~U[2026-06-29 11:39:00Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "MacOS *float vs Hyprland *tile", "LrOuqMzKdAE", 684, false, "https://www.youtube.com/watch?v=LrOuqMzKdAE", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022000_MacOS *float vs Hyprland *tile.mp4", false, 46, ~U[2026-02-20 11:51:09Z]] 06:39:00.542 [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" = ?) [46] 06:39:00.542 [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-02-14 23:11:56Z], 46] 06:39:00.543 [debug] QUERY OK source="media_items" db=0.4ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["- https://youtu.be/2BO83Ig-E8E\n- https://youtu.be/yZVuMhbNE9s\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "freedom is a meme just like your life", "6593f1d8-ee82-4a75-8479-03eaab89842e", "kD1VhTacIc8", 1711, false, "https://www.youtube.com/watch?v=kD1VhTacIc8", 6, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e021400_freedom is a meme just like your life.mp4", false, false, false, 46, [], 98, ~U[2026-02-14 23:11:56Z], ~U[2026-06-29 11:39:00Z], ~U[2026-06-29 11:39:00Z], "- https://youtu.be/2BO83Ig-E8E\n- https://youtu.be/yZVuMhbNE9s\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "freedom is a meme just like your life", "kD1VhTacIc8", 1711, false, "https://www.youtube.com/watch?v=kD1VhTacIc8", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e021400_freedom is a meme just like your life.mp4", false, 46, ~U[2026-02-14 23:11:56Z]] 06:39:00.543 [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] 06:39:00.544 [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-02-09 09:31:08Z], 46] 06:39:00.544 [debug] QUERY OK source="media_items" db=0.5ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Donation (I put no ads) - https://paypal.me/bugswriter \nMy Mantra Page - https://bugswriter.com/mantra\n\nmaterial - \n- https://plato.stanford.edu/entries/nagarjuna/\n- https://youtu.be/FbZDqFyTWzk\n- https://youtu.be/VIwObHep47s\n- seeker to seeker - emptiness video & 12 link of dependent origination\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Tibetan Anti-philosophy can end your DOOM Scrolling", "ef87b901-b715-48f4-a9cb-65d4b7ed7ea0", "f4vblLRAYSg", 748, false, "https://www.youtube.com/watch?v=f4vblLRAYSg", 7, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e020900_Tibetan Anti-philosophy can end your DOOM Scrolling.mp4", false, false, false, 46, [], 98, ~U[2026-02-09 09:31:08Z], ~U[2026-06-29 11:39:00Z], ~U[2026-06-29 11:39:00Z], "Donation (I put no ads) - https://paypal.me/bugswriter \nMy Mantra Page - https://bugswriter.com/mantra\n\nmaterial - \n- https://plato.stanford.edu/entries/nagarjuna/\n- https://youtu.be/FbZDqFyTWzk\n- https://youtu.be/VIwObHep47s\n- seeker to seeker - emptiness video & 12 link of dependent origination\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Tibetan Anti-philosophy can end your DOOM Scrolling", "f4vblLRAYSg", 748, false, "https://www.youtube.com/watch?v=f4vblLRAYSg", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e020900_Tibetan Anti-philosophy can end your DOOM Scrolling.mp4", false, 46, ~U[2026-02-09 09:31:08Z]] 06:39:00.545 [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" = ?) [46] 06:39:00.545 [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-01-26 20:36:08Z], 46] 06:39:00.546 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Freedom vs Compliance", "3b1664b9-dfa8-46d9-ab07-105665d4325c", "f5qgJ9xThYs", 829, false, "https://www.youtube.com/watch?v=f5qgJ9xThYs", 8, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e012600_Freedom vs Compliance.mp4", false, false, false, 46, [], 98, ~U[2026-01-26 20:36:08Z], ~U[2026-06-29 11:39:00Z], ~U[2026-06-29 11:39:00Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Freedom vs Compliance", "f5qgJ9xThYs", 829, false, "https://www.youtube.com/watch?v=f5qgJ9xThYs", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e012600_Freedom vs Compliance.mp4", false, 46, ~U[2026-01-26 20:36:08Z]] 06:39:00.546 [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] 06:39:00.547 [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-01-11 23:25:59Z], 46] 06:39:00.547 [debug] QUERY OK source="media_items" db=0.4ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Why developers fail earning $$$ (independently) ?", "f5ee3374-6518-475b-88e0-f81342707553", "giQ_7l5p2Kg", 727, false, "https://www.youtube.com/watch?v=giQ_7l5p2Kg", 9, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e011100_Why developers fail earning $$$ (independently) ?.mp4", false, false, false, 46, [], 98, ~U[2026-01-11 23:25:59Z], ~U[2026-06-29 11:39:00Z], ~U[2026-06-29 11:39:00Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Why developers fail earning $$$ (independently) ?", "giQ_7l5p2Kg", 727, false, "https://www.youtube.com/watch?v=giQ_7l5p2Kg", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e011100_Why developers fail earning $$$ (independently) ?.mp4", false, 46, ~U[2026-01-11 23:25:59Z]] 06:39:00.547 [debug] QUERY OK source="sources" db=0.1ms idle=2.0ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 11:39:00Z], ~U[2026-06-29 11:39:00Z], 46] 06:39:00.548 [debug] QUERY OK source="media_items" db=0.4ms idle=1.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 06:39:00.549 [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] 06:39:00.549 [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] 06:39:00.550 [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" [419761, 46, ~U[2026-06-29 11:39:00Z], ~U[2026-06-29 11:39:00Z]] 06:39:00.550 [info] {"args":{"id":46},"id":419668,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":18473425,"event":"job:stop","queue_time":289830,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 06:39:01.001 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:39:22.224 [info] {"source":"oban","duration":7831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:52.234 [info] {"source":"oban","duration":8103,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.002 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:40:03.192 [info] {"args":{"id":35},"id":419669,"meta":{},"system_time":1782733203192485480,"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"]} 06:40:03.193 [debug] QUERY OK source="sources" db=0.7ms idle=1251.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:03.194 [debug] QUERY OK source="settings" db=0.5ms idle=1252.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:40:03.197 [debug] QUERY OK source="media_items" db=2.8ms idle=1009.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")))) [35] 06:40:03.197 [debug] QUERY OK source="media_items" db=0.4ms idle=10.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 06:40:03.197 [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] 06:40:03.198 [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 [] 06:40:03.198 [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 [] 06:40:03.201 [debug] QUERY OK source="media_items" db=2.1ms 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 [35] 06:40:03.202 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 06:40:03.202 [debug] Current batch of media processed. Will check again in 1000ms 06:40:03.202 [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 [] 06:40:03.202 [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 [] 06:40:03.202 [debug] QUERY OK source="settings" db=0.0ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:40:03.202 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/69/33/69339a4fdd445829eed95962e79b60db614494030ce86953ac3595224b45bfdc.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/57/e7/57e759597bc41d55e2dfe6a42cd6b5b65a639f2d9e9d78c226e9366c6657e2be.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:40:04.203 [debug] Current batch of media processed. Will check again in 1000ms 06:40:05.203 [debug] Current batch of media processed. Will check again in 1000ms 06:40:06.205 [debug] Current batch of media processed. Will check again in 1000ms 06:40:07.206 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "RefreshOS 3 brings together the stability of Debian 13 and the beauty of KDE Plasma 6 into a desktop experience that simply feels right. Built with Qt 6 and the Linux 6.12 kernel, it delivers a modern desktop that feels fast, clean, smooth, and genuinely enjoyable to use every day.\n\nREFERENCED:\n► https://refreshos.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 1316, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062600_RefreshOS Combines Debian Stability With KDE Beauty.mp4", "id" => "YzdDDY5JEBA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YzdDDY5JEBA", "playlist_index" => 1, "timestamp" => 1782478816, "title" => "RefreshOS Combines Debian Stability With KDE Beauty", "upload_date" => "20260626"} 06:40:07.206 [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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:07.206 [debug] QUERY OK source="sources" db=0.1ms idle=265.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:07.209 [debug] QUERY OK source="media_items" db=2.8ms idle=265.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-26 13:00:16Z], 35] 06:40:07.211 [debug] QUERY OK source="media_items" db=1.0ms idle=269.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["RefreshOS 3 brings together the stability of Debian 13 and the beauty of KDE Plasma 6 into a desktop experience that simply feels right. Built with Qt 6 and the Linux 6.12 kernel, it delivers a modern desktop that feels fast, clean, smooth, and genuinely enjoyable to use every day.\n\nREFERENCED:\n► https://refreshos.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "RefreshOS Combines Debian Stability With KDE Beauty", "28b26956-7864-43e8-b92c-1281c619a0ea", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", 1, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062600_RefreshOS Combines Debian Stability With KDE Beauty.mp4", false, false, false, 35, [], 98, ~U[2026-06-26 13:00:16Z], ~U[2026-06-29 11:40:07Z], ~U[2026-06-29 11:40:07Z], "RefreshOS 3 brings together the stability of Debian 13 and the beauty of KDE Plasma 6 into a desktop experience that simply feels right. Built with Qt 6 and the Linux 6.12 kernel, it delivers a modern desktop that feels fast, clean, smooth, and genuinely enjoyable to use every day.\n\nREFERENCED:\n► https://refreshos.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "RefreshOS Combines Debian Stability With KDE Beauty", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062600_RefreshOS Combines Debian Stability With KDE Beauty.mp4", false, 35, ~U[2026-06-26 13:00:16Z]] 06:40:07.211 [debug] QUERY OK source="sources" db=0.4ms idle=20.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:07.212 [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] 06:40:07.212 [debug] QUERY OK source="media_items" db=0.1ms 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 [3288646] 06:40:07.212 [debug] Current batch of media processed. Will check again in 1000ms 06:40:08.213 [debug] Current batch of media processed. Will check again in 1000ms 06:40:09.214 [debug] Current batch of media processed. Will check again in 1000ms 06:40:10.215 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "BoxBuddy is a graphical frontend to distrobox, which allows you to install packages from other Linux distro's repositories.\n\nREFERENCED:\n► https://github.com/Dvlv/BoxBuddyRS\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 915, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062100_Install Programs From Any Linux Distro With BoxBuddy.mp4", "id" => "tFINFcTJ2BA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tFINFcTJ2BA", "playlist_index" => 2, "timestamp" => 1782046833, "title" => "Install Programs From Any Linux Distro With BoxBuddy", "upload_date" => "20260621"} 06:40:10.215 [debug] QUERY OK source="sources" db=0.1ms idle=1274.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:10.215 [debug] QUERY OK source="sources" db=0.1ms idle=1274.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:10.218 [debug] QUERY OK source="media_items" db=2.8ms idle=1275.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-21 13:00:33Z], 35] 06:40:10.220 [debug] QUERY OK source="media_items" db=0.9ms idle=1025.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["BoxBuddy is a graphical frontend to distrobox, which allows you to install packages from other Linux distro's repositories.\n\nREFERENCED:\n► https://github.com/Dvlv/BoxBuddyRS\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Install Programs From Any Linux Distro With BoxBuddy", "8b34b53a-1d07-41ba-a98d-8c44d9bfc39c", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", 2, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062100_Install Programs From Any Linux Distro With BoxBuddy.mp4", false, false, false, 35, [], 98, ~U[2026-06-21 13:00:33Z], ~U[2026-06-29 11:40:10Z], ~U[2026-06-29 11:40:10Z], "BoxBuddy is a graphical frontend to distrobox, which allows you to install packages from other Linux distro's repositories.\n\nREFERENCED:\n► https://github.com/Dvlv/BoxBuddyRS\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Install Programs From Any Linux Distro With BoxBuddy", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062100_Install Programs From Any Linux Distro With BoxBuddy.mp4", false, 35, ~U[2026-06-21 13:00:33Z]] 06:40:10.220 [debug] QUERY OK source="sources" db=0.1ms idle=25.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:10.220 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:40:10.221 [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 [3249148] 06:40:10.221 [debug] Current batch of media processed. Will check again in 1000ms 06:40:11.222 [debug] Current batch of media processed. Will check again in 1000ms 06:40:12.223 [debug] Current batch of media processed. Will check again in 1000ms 06:40:13.224 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Random thoughts about the state of Arch Linux after this massive malware attack on the AUR.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 722, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061600_Is It Time To Leave Arch Linux?.mp4", "id" => "pFkGmcpQmTI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pFkGmcpQmTI", "playlist_index" => 3, "timestamp" => 1781614828, "title" => "Is It Time To Leave Arch Linux?", "upload_date" => "20260616"} 06:40:13.224 [debug] QUERY OK source="sources" db=0.1ms idle=1283.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:13.225 [debug] QUERY OK source="sources" db=0.1ms idle=1284.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:13.228 [debug] QUERY OK source="media_items" db=2.7ms idle=1284.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-16 13:00:28Z], 35] 06:40:13.229 [debug] QUERY OK source="media_items" db=0.9ms idle=1030.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Random thoughts about the state of Arch Linux after this massive malware attack on the AUR.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is It Time To Leave Arch Linux?", "734dcb06-5b8a-42a6-870f-85e753f75c65", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", 3, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061600_Is It Time To Leave Arch Linux?.mp4", false, false, false, 35, [], 98, ~U[2026-06-16 13:00:28Z], ~U[2026-06-29 11:40:13Z], ~U[2026-06-29 11:40:13Z], "Random thoughts about the state of Arch Linux after this massive malware attack on the AUR.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is It Time To Leave Arch Linux?", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061600_Is It Time To Leave Arch Linux?.mp4", false, 35, ~U[2026-06-16 13:00:28Z]] 06:40:13.229 [debug] QUERY OK source="sources" db=0.2ms idle=29.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:13.230 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:40:13.230 [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 [3209684] 06:40:13.230 [debug] Current batch of media processed. Will check again in 1000ms 06:40:14.231 [debug] Current batch of media processed. Will check again in 1000ms 06:40:15.232 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Arch contributors are cleaning up a malware incident in the AUR after suspicious updates appeared across several user-maintained packages.\n\nREFERENCED:\n► https://linuxiac.com/arch-linux-aur-malware-campaign-hits-multiple-user-contributed-packages/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 362, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061200_Major Malware Incident Hits Arch AUR!.mp4", "id" => "gxC_QPqsZh0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gxC_QPqsZh0", "playlist_index" => 4, "timestamp" => 1781281820, "title" => "Major Malware Incident Hits Arch AUR!", "upload_date" => "20260612"} 06:40:15.233 [debug] QUERY OK source="sources" db=0.2ms idle=291.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:15.233 [debug] QUERY OK source="sources" db=0.1ms idle=292.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:15.236 [debug] QUERY OK source="media_items" db=2.7ms idle=292.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 16:30:20Z], 35] 06:40:15.237 [debug] QUERY OK source="media_items" db=0.9ms idle=295.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch contributors are cleaning up a malware incident in the AUR after suspicious updates appeared across several user-maintained packages.\n\nREFERENCED:\n► https://linuxiac.com/arch-linux-aur-malware-campaign-hits-multiple-user-contributed-packages/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Major Malware Incident Hits Arch AUR!", "8b513597-dbd3-4470-9163-a460094dc441", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", 4, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061200_Major Malware Incident Hits Arch AUR!.mp4", false, false, false, 35, [], 98, ~U[2026-06-12 16:30:20Z], ~U[2026-06-29 11:40:15Z], ~U[2026-06-29 11:40:15Z], "Arch contributors are cleaning up a malware incident in the AUR after suspicious updates appeared across several user-maintained packages.\n\nREFERENCED:\n► https://linuxiac.com/arch-linux-aur-malware-campaign-hits-multiple-user-contributed-packages/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Major Malware Incident Hits Arch AUR!", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061200_Major Malware Incident Hits Arch AUR!.mp4", false, 35, ~U[2026-06-12 16:30:20Z]] 06:40:15.238 [debug] QUERY OK source="sources" db=0.1ms idle=34.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:15.238 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:40:15.238 [debug] QUERY OK source="media_items" db=0.1ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3178989] 06:40:15.238 [debug] Current batch of media processed. Will check again in 1000ms 06:40:16.239 [debug] Current batch of media processed. Will check again in 1000ms 06:40:17.240 [debug] Current batch of media processed. Will check again in 1000ms 06:40:18.241 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For decades, Linux enthusiasts have dreamed of \"the Year of the Linux Desktop.\" Despite Linux powering much of the internet, if not most of the internet, as well as cloud computing, and even Android, desktop Linux has remained a niche choice for most computer users. But artificial intelligence may finally change that.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 826, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060800_A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!).mp4", "id" => "LuvxUKBXkqA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LuvxUKBXkqA", "playlist_index" => 5, "timestamp" => 1780923633, "title" => "A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!)", "upload_date" => "20260608"} 06:40:18.241 [debug] QUERY OK source="sources" db=0.4ms idle=1300.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:18.242 [debug] QUERY OK source="sources" db=0.2ms idle=1301.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:18.245 [debug] QUERY OK source="media_items" db=2.7ms idle=1301.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-08 13:00:33Z], 35] 06:40:18.247 [debug] QUERY OK source="media_items" db=1.7ms idle=1039.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["For decades, Linux enthusiasts have dreamed of \"the Year of the Linux Desktop.\" Despite Linux powering much of the internet, if not most of the internet, as well as cloud computing, and even Android, desktop Linux has remained a niche choice for most computer users. But artificial intelligence may finally change that.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!)", "a56422f8-0636-431f-a36c-515666ada0c9", "LuvxUKBXkqA", 826, false, "https://www.youtube.com/watch?v=LuvxUKBXkqA", 5, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060800_A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!).mp4", false, false, false, 35, [], 98, ~U[2026-06-08 13:00:33Z], ~U[2026-06-29 11:40:18Z], ~U[2026-06-29 11:40:18Z], "For decades, Linux enthusiasts have dreamed of \"the Year of the Linux Desktop.\" Despite Linux powering much of the internet, if not most of the internet, as well as cloud computing, and even Android, desktop Linux has remained a niche choice for most computer users. But artificial intelligence may finally change that.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!)", "LuvxUKBXkqA", 826, false, "https://www.youtube.com/watch?v=LuvxUKBXkqA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060800_A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!).mp4", false, 35, ~U[2026-06-08 13:00:33Z]] 06:40:18.247 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [35] 06:40:18.248 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:40:18.248 [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 [3146498] 06:40:18.248 [debug] Current batch of media processed. Will check again in 1000ms 06:40:19.249 [debug] Current batch of media processed. Will check again in 1000ms 06:40:20.250 [debug] Current batch of media processed. Will check again in 1000ms 06:40:21.251 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Have you ever wanted to automate certain tasks on your Linux system? Maybe a backup, or system cleanup, or running a specific script every week or every month. Cronie allows you to easily schedule such tasks on your Linux machine.\n\nREFERENCED:\n► https://wiki.archlinux.org/title/Cron\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 597, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060200_How To Schedule Linux Jobs With Cronie.mp4", "id" => "FPVQ_w0wxCI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FPVQ_w0wxCI", "playlist_index" => 6, "timestamp" => 1780405224, "title" => "How To Schedule Linux Jobs With Cronie", "upload_date" => "20260602"} 06:40:21.251 [debug] QUERY OK source="sources" db=0.2ms idle=1310.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:21.252 [debug] QUERY OK source="sources" db=0.1ms idle=1311.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:21.255 [debug] QUERY OK source="media_items" db=2.8ms idle=1311.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 13:00:24Z], 35] 06:40:21.256 [debug] QUERY OK source="media_items" db=0.8ms idle=1043.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Have you ever wanted to automate certain tasks on your Linux system? Maybe a backup, or system cleanup, or running a specific script every week or every month. Cronie allows you to easily schedule such tasks on your Linux machine.\n\nREFERENCED:\n► https://wiki.archlinux.org/title/Cron\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "How To Schedule Linux Jobs With Cronie", "73b42ae3-ac7c-49a7-a732-d9bbb7f083f9", "FPVQ_w0wxCI", 597, false, "https://www.youtube.com/watch?v=FPVQ_w0wxCI", 6, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060200_How To Schedule Linux Jobs With Cronie.mp4", false, false, false, 35, [], 98, ~U[2026-06-02 13:00:24Z], ~U[2026-06-29 11:40:21Z], ~U[2026-06-29 11:40:21Z], "Have you ever wanted to automate certain tasks on your Linux system? Maybe a backup, or system cleanup, or running a specific script every week or every month. Cronie allows you to easily schedule such tasks on your Linux machine.\n\nREFERENCED:\n► https://wiki.archlinux.org/title/Cron\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "How To Schedule Linux Jobs With Cronie", "FPVQ_w0wxCI", 597, false, "https://www.youtube.com/watch?v=FPVQ_w0wxCI", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060200_How To Schedule Linux Jobs With Cronie.mp4", false, 35, ~U[2026-06-02 13:00:24Z]] 06:40:21.256 [debug] QUERY OK source="sources" db=0.1ms idle=42.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:21.257 [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] 06:40:21.257 [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 [3099643] 06:40:21.257 [debug] Current batch of media processed. Will check again in 1000ms 06:40:22.243 [info] {"source":"oban","duration":7772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:22.258 [debug] Current batch of media processed. Will check again in 1000ms 06:40:23.259 [debug] Current batch of media processed. Will check again in 1000ms 06:40:24.260 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Quarkos is a user friendly, desktop oriented operating system based on Ubuntu Linux with Plasma, optionally Trinity desktop environment, and an added value thanks to unique Q4OS tools integrated. Its goal is to provide Ubuntu based operating system with Q4OS amenities. Unlike Q4OS, which is Debian based, Quarkos is based on Ubuntu.\n\nREFERENCED:\n► https://quark-os.sourceforge.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 879, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052800_A Quick First Look At QuarkOS.mp4", "id" => "kj6ZfmmPHpY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kj6ZfmmPHpY", "playlist_index" => 7, "timestamp" => 1779973203, "title" => "A Quick First Look At QuarkOS", "upload_date" => "20260528"} 06:40:24.260 [debug] QUERY OK source="sources" db=0.2ms idle=1319.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:24.260 [debug] QUERY OK source="sources" db=0.1ms idle=1319.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:24.264 [debug] QUERY OK source="media_items" db=3.0ms idle=1044.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-28 13:00:03Z], 35] 06:40:24.265 [debug] QUERY OK source="media_items" db=1.0ms idle=323.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Quarkos is a user friendly, desktop oriented operating system based on Ubuntu Linux with Plasma, optionally Trinity desktop environment, and an added value thanks to unique Q4OS tools integrated. Its goal is to provide Ubuntu based operating system with Q4OS amenities. Unlike Q4OS, which is Debian based, Quarkos is based on Ubuntu.\n\nREFERENCED:\n► https://quark-os.sourceforge.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick First Look At QuarkOS", "7ccf354c-0dbf-43f4-9697-684c90ce7156", "kj6ZfmmPHpY", 879, false, "https://www.youtube.com/watch?v=kj6ZfmmPHpY", 7, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052800_A Quick First Look At QuarkOS.mp4", false, false, false, 35, [], 98, ~U[2026-05-28 13:00:03Z], ~U[2026-06-29 11:40:24Z], ~U[2026-06-29 11:40:24Z], "Quarkos is a user friendly, desktop oriented operating system based on Ubuntu Linux with Plasma, optionally Trinity desktop environment, and an added value thanks to unique Q4OS tools integrated. Its goal is to provide Ubuntu based operating system with Q4OS amenities. Unlike Q4OS, which is Debian based, Quarkos is based on Ubuntu.\n\nREFERENCED:\n► https://quark-os.sourceforge.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick First Look At QuarkOS", "kj6ZfmmPHpY", 879, false, "https://www.youtube.com/watch?v=kj6ZfmmPHpY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052800_A Quick First Look At QuarkOS.mp4", false, 35, ~U[2026-05-28 13:00:03Z]] 06:40:24.266 [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" = ?) [35] 06:40:24.266 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:40:24.266 [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 [3060741] 06:40:24.266 [debug] Current batch of media processed. Will check again in 1000ms 06:40:25.267 [debug] Current batch of media processed. Will check again in 1000ms 06:40:26.268 [debug] Current batch of media processed. Will check again in 1000ms 06:40:27.269 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For the last six months, I have had a serious audio bug that greatly limited my ability to record videos. \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 702, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052500_I Almost Quit YouTube Because Of This Audio Issue.mp4", "id" => "lRFfAiQ9Q1I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lRFfAiQ9Q1I", "playlist_index" => 8, "timestamp" => 1779714015, "title" => "I Almost Quit YouTube Because Of This Audio Issue", "upload_date" => "20260525"} 06:40:27.270 [debug] QUERY OK source="sources" db=0.3ms idle=1328.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:27.270 [debug] QUERY OK source="sources" db=0.1ms idle=1329.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:27.273 [debug] QUERY OK source="media_items" db=2.7ms idle=1329.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-25 13:00:15Z], 35] 06:40:27.274 [debug] QUERY OK source="media_items" db=0.8ms idle=1053.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["For the last six months, I have had a serious audio bug that greatly limited my ability to record videos. \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I Almost Quit YouTube Because Of This Audio Issue", "0c9c2311-614f-4e12-a3bf-0a5623110493", "lRFfAiQ9Q1I", 702, false, "https://www.youtube.com/watch?v=lRFfAiQ9Q1I", 8, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052500_I Almost Quit YouTube Because Of This Audio Issue.mp4", false, false, false, 35, [], 98, ~U[2026-05-25 13:00:15Z], ~U[2026-06-29 11:40:27Z], ~U[2026-06-29 11:40:27Z], "For the last six months, I have had a serious audio bug that greatly limited my ability to record videos. \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I Almost Quit YouTube Because Of This Audio Issue", "lRFfAiQ9Q1I", 702, false, "https://www.youtube.com/watch?v=lRFfAiQ9Q1I", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052500_I Almost Quit YouTube Because Of This Audio Issue.mp4", false, 35, ~U[2026-05-25 13:00:15Z]] 06:40:27.275 [debug] QUERY OK source="sources" db=0.6ms idle=53.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:27.275 [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] 06:40:27.275 [debug] QUERY OK source="media_items" db=0.1ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3037436] 06:40:27.276 [debug] Current batch of media processed. Will check again in 1000ms 06:40:28.276 [debug] Current batch of media processed. Will check again in 1000ms 06:40:29.278 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I want to try out something different for the next edition of HEY DT. Instead of responding to YouTube comments, I want to respond to voice messages! What could possibly go wrong!\n\nLEAVE ME A VOICE MESSAGE FOR HEY DT:\n► https://www.speakpipe.com/dt (Leave 'Name' too...it can be a fake name!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 163, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052100_Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!).mp4", "id" => "9i276gE7KV8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9i276gE7KV8", "playlist_index" => 9, "timestamp" => 1779378074, "title" => "Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!)", "upload_date" => "20260521"} 06:40:29.278 [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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:29.279 [debug] QUERY OK source="sources" db=0.1ms idle=337.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:29.282 [debug] QUERY OK source="media_items" db=2.7ms idle=338.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 15:41:14Z], 35] 06:40:29.283 [debug] QUERY OK source="media_items" db=0.9ms idle=341.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I want to try out something different for the next edition of HEY DT. Instead of responding to YouTube comments, I want to respond to voice messages! What could possibly go wrong!\n\nLEAVE ME A VOICE MESSAGE FOR HEY DT:\n► https://www.speakpipe.com/dt (Leave 'Name' too...it can be a fake name!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!)", "fc19e9ac-d853-43a2-8ff8-43cf77445575", "9i276gE7KV8", 163, false, "https://www.youtube.com/watch?v=9i276gE7KV8", 9, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052100_Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!).mp4", false, false, false, 35, [], 98, ~U[2026-05-21 15:41:14Z], ~U[2026-06-29 11:40:29Z], ~U[2026-06-29 11:40:29Z], "I want to try out something different for the next edition of HEY DT. Instead of responding to YouTube comments, I want to respond to voice messages! What could possibly go wrong!\n\nLEAVE ME A VOICE MESSAGE FOR HEY DT:\n► https://www.speakpipe.com/dt (Leave 'Name' too...it can be a fake name!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!)", "9i276gE7KV8", 163, false, "https://www.youtube.com/watch?v=9i276gE7KV8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052100_Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!).mp4", false, 35, ~U[2026-05-21 15:41:14Z]] 06:40:29.283 [debug] QUERY OK source="sources" db=0.1ms idle=58.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:29.284 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:40:29.284 [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 [3006960] 06:40:29.284 [debug] Current batch of media processed. Will check again in 1000ms 06:40:30.285 [debug] Current batch of media processed. Will check again in 1000ms 06:40:31.286 [debug] Current batch of media processed. Will check again in 1000ms 06:40:32.287 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Linux and Windows are different...obviously. But what are some of the features that Linux has that Windows doesn't?\n\nARTICLE REFERENCED:\n► https://www.xda-developers.com/6-linux-features-windows-still-doesnt-have-in-2026/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 675, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051500_Features Linux Has...But Windows Doesn't!.mp4", "id" => "bldTm7cAHB4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bldTm7cAHB4", "playlist_index" => 10, "timestamp" => 1778850067, "title" => "Features Linux Has...But Windows Doesn't!", "upload_date" => "20260515"} 06:40:32.288 [debug] QUERY OK source="sources" db=0.3ms idle=1346.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:32.288 [debug] QUERY OK source="sources" db=0.1ms idle=1347.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:32.291 [debug] QUERY OK source="media_items" db=2.7ms idle=1347.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 13:01:07Z], 35] 06:40:32.292 [debug] QUERY OK source="media_items" db=0.8ms idle=1063.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Linux and Windows are different...obviously. But what are some of the features that Linux has that Windows doesn't?\n\nARTICLE REFERENCED:\n► https://www.xda-developers.com/6-linux-features-windows-still-doesnt-have-in-2026/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Features Linux Has...But Windows Doesn't!", "23d92ab0-be8d-4a09-adf4-392bd22092ca", "bldTm7cAHB4", 675, false, "https://www.youtube.com/watch?v=bldTm7cAHB4", 10, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051500_Features Linux Has...But Windows Doesn't!.mp4", false, false, false, 35, [], 98, ~U[2026-05-15 13:01:07Z], ~U[2026-06-29 11:40:32Z], ~U[2026-06-29 11:40:32Z], "Linux and Windows are different...obviously. But what are some of the features that Linux has that Windows doesn't?\n\nARTICLE REFERENCED:\n► https://www.xda-developers.com/6-linux-features-windows-still-doesnt-have-in-2026/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Features Linux Has...But Windows Doesn't!", "bldTm7cAHB4", 675, false, "https://www.youtube.com/watch?v=bldTm7cAHB4", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051500_Features Linux Has...But Windows Doesn't!.mp4", false, 35, ~U[2026-05-15 13:01:07Z]] 06:40:32.292 [debug] QUERY OK source="sources" db=0.1ms idle=63.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:32.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] 06:40:32.293 [debug] QUERY OK source="media_items" db=0.1ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2959875] 06:40:32.293 [debug] Current batch of media processed. Will check again in 1000ms 06:40:33.294 [debug] Current batch of media processed. Will check again in 1000ms 06:40:34.295 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "These seven shells aliases are practically required if you don't want your terminal experience to suck.\n\nalias ls='ls -lah --color=always --group-directories-first'\nalias rm=' rm -I --preserve-root'\nalias cp='cp -i'\nalias mv='mv -i'\nalias mkdir='mkdir -p'\nalias ping='ping -c 5'\nalias update='sudo pacman -Syu' (or whatever your distro uses!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 782, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051200_7 Aliases That Make The Terminal Great Again.mp4", "id" => "NLCPh9iAknk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NLCPh9iAknk", "playlist_index" => 11, "timestamp" => 1778589064, "title" => "7 Aliases That Make The Terminal Great Again", "upload_date" => "20260512"} 06:40:34.295 [debug] QUERY OK source="sources" db=0.1ms idle=354.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:34.295 [debug] QUERY OK source="sources" db=0.1ms idle=354.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:34.299 [debug] QUERY OK source="media_items" db=2.9ms idle=355.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 12:31:04Z], 35] 06:40:34.300 [debug] QUERY OK source="media_items" db=1.0ms idle=358.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["These seven shells aliases are practically required if you don't want your terminal experience to suck.\n\nalias ls='ls -lah --color=always --group-directories-first'\nalias rm=' rm -I --preserve-root'\nalias cp='cp -i'\nalias mv='mv -i'\nalias mkdir='mkdir -p'\nalias ping='ping -c 5'\nalias update='sudo pacman -Syu' (or whatever your distro uses!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "7 Aliases That Make The Terminal Great Again", "7cafd839-680e-4e73-bdd1-984b77731514", "NLCPh9iAknk", 782, false, "https://www.youtube.com/watch?v=NLCPh9iAknk", 11, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051200_7 Aliases That Make The Terminal Great Again.mp4", false, false, false, 35, [], 98, ~U[2026-05-12 12:31:04Z], ~U[2026-06-29 11:40:34Z], ~U[2026-06-29 11:40:34Z], "These seven shells aliases are practically required if you don't want your terminal experience to suck.\n\nalias ls='ls -lah --color=always --group-directories-first'\nalias rm=' rm -I --preserve-root'\nalias cp='cp -i'\nalias mv='mv -i'\nalias mkdir='mkdir -p'\nalias ping='ping -c 5'\nalias update='sudo pacman -Syu' (or whatever your distro uses!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "7 Aliases That Make The Terminal Great Again", "NLCPh9iAknk", 782, false, "https://www.youtube.com/watch?v=NLCPh9iAknk", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051200_7 Aliases That Make The Terminal Great Again.mp4", false, 35, ~U[2026-05-12 12:31:04Z]] 06:40:34.300 [debug] QUERY OK source="sources" db=0.1ms idle=67.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:34.301 [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] 06:40:34.301 [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 [2936875] 06:40:34.301 [debug] Current batch of media processed. Will check again in 1000ms 06:40:35.302 [debug] Current batch of media processed. Will check again in 1000ms 06:40:36.303 [debug] Current batch of media processed. Will check again in 1000ms 06:40:37.304 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A serious discussion about one of the biggest problems facing society. Rant incoming!\n\nREFERENCED:\n► Lunduke's Video: https://www.youtube.com/watch?v=jGdyMx4dZQ0\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 1243, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050900_Does Open Source Have A Pedo Problem?.mp4", "id" => "5Gb91JNF89M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5Gb91JNF89M", "playlist_index" => 12, "timestamp" => 1778331617, "title" => "Does Open Source Have A Pedo Problem?", "upload_date" => "20260509"} 06:40:37.304 [debug] QUERY OK source="sources" db=0.2ms idle=1363.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:37.305 [debug] QUERY OK source="sources" db=0.1ms idle=1363.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:37.308 [debug] QUERY OK source="media_items" db=2.9ms idle=1364.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 13:00:17Z], 35] 06:40:37.309 [debug] QUERY OK source="media_items" db=0.8ms idle=1072.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A serious discussion about one of the biggest problems facing society. Rant incoming!\n\nREFERENCED:\n► Lunduke's Video: https://www.youtube.com/watch?v=jGdyMx4dZQ0\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Does Open Source Have A Pedo Problem?", "70989700-e2cc-4b0b-84e6-1efd61ddb7ab", "5Gb91JNF89M", 1243, false, "https://www.youtube.com/watch?v=5Gb91JNF89M", 12, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050900_Does Open Source Have A Pedo Problem?.mp4", false, false, false, 35, [], 98, ~U[2026-05-09 13:00:17Z], ~U[2026-06-29 11:40:37Z], ~U[2026-06-29 11:40:37Z], "A serious discussion about one of the biggest problems facing society. Rant incoming!\n\nREFERENCED:\n► Lunduke's Video: https://www.youtube.com/watch?v=jGdyMx4dZQ0\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Does Open Source Have A Pedo Problem?", "5Gb91JNF89M", 1243, false, "https://www.youtube.com/watch?v=5Gb91JNF89M", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050900_Does Open Source Have A Pedo Problem?.mp4", false, 35, ~U[2026-05-09 13:00:17Z]] 06:40:37.309 [debug] QUERY OK source="sources" db=0.1ms idle=72.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:37.309 [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] 06:40:37.310 [debug] QUERY OK source="media_items" db=0.1ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2913923] 06:40:37.310 [debug] Current batch of media processed. Will check again in 1000ms 06:40:38.311 [debug] Current batch of media processed. Will check again in 1000ms 06:40:39.312 [debug] Current batch of media processed. Will check again in 1000ms 06:40:40.313 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A lengthy, unstructured boomer rant that goes all over the place. Enjoy!\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 1712, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050600_Linux...So Much Has Changed In The Last 20 Years.mp4", "id" => "Ol7kVJx8KcY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ol7kVJx8KcY", "playlist_index" => 13, "timestamp" => 1778072455, "title" => "Linux...So Much Has Changed In The Last 20 Years", "upload_date" => "20260506"} 06:40:40.313 [debug] QUERY OK source="sources" db=0.1ms idle=1372.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:40.314 [debug] QUERY OK source="sources" db=0.1ms idle=1373.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:40.317 [debug] QUERY OK source="media_items" db=2.7ms idle=1373.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-06 13:00:55Z], 35] 06:40:40.318 [debug] QUERY OK source="media_items" db=0.8ms idle=1077.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A lengthy, unstructured boomer rant that goes all over the place. Enjoy!\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Linux...So Much Has Changed In The Last 20 Years", "1d8736c6-e6f5-4fb7-a5ce-001845a051fe", "Ol7kVJx8KcY", 1712, false, "https://www.youtube.com/watch?v=Ol7kVJx8KcY", 13, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050600_Linux...So Much Has Changed In The Last 20 Years.mp4", false, false, false, 35, [], 98, ~U[2026-05-06 13:00:55Z], ~U[2026-06-29 11:40:40Z], ~U[2026-06-29 11:40:40Z], "A lengthy, unstructured boomer rant that goes all over the place. Enjoy!\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Linux...So Much Has Changed In The Last 20 Years", "Ol7kVJx8KcY", 1712, false, "https://www.youtube.com/watch?v=Ol7kVJx8KcY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050600_Linux...So Much Has Changed In The Last 20 Years.mp4", false, 35, ~U[2026-05-06 13:00:55Z]] 06:40:40.318 [debug] QUERY OK source="sources" db=0.1ms idle=77.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:40.318 [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] 06:40:40.319 [debug] QUERY OK source="media_items" db=0.1ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2890917] 06:40:40.319 [debug] Current batch of media processed. Will check again in 1000ms 06:40:41.320 [debug] Current batch of media processed. Will check again in 1000ms 06:40:42.321 [debug] Current batch of media processed. Will check again in 1000ms 06:40:43.322 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I list some of the free and open source applications that I love to use. I'd install these on every computer of mine, even if the computer was a Windows machine!\n\n0:00 intro\n0:39 brave (or firefox)\n3:04 vlc\n3:59 libreoffice\n5:53 gimp\n7:24 emacs (or vim or geany)\n9:27 kdenlive\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 712, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050300_5 Open Source Apps I'd Install Even On Windows.mp4", "id" => "v0WbKKhod74", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=v0WbKKhod74", "playlist_index" => 14, "timestamp" => 1777813303, "title" => "5 Open Source Apps I'd Install Even On Windows", "upload_date" => "20260503"} 06:40:43.322 [debug] QUERY OK source="sources" db=0.1ms idle=1381.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:43.322 [debug] QUERY OK source="sources" db=0.1ms idle=1381.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:43.325 [debug] QUERY OK source="media_items" db=2.7ms idle=1381.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:01:43Z], 35] 06:40:43.327 [debug] QUERY OK source="media_items" db=0.8ms idle=1080.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I list some of the free and open source applications that I love to use. I'd install these on every computer of mine, even if the computer was a Windows machine!\n\n0:00 intro\n0:39 brave (or firefox)\n3:04 vlc\n3:59 libreoffice\n5:53 gimp\n7:24 emacs (or vim or geany)\n9:27 kdenlive\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "5 Open Source Apps I'd Install Even On Windows", "f6eee5fe-44cd-4b0d-9e35-f9fb647c6598", "v0WbKKhod74", 712, false, "https://www.youtube.com/watch?v=v0WbKKhod74", 14, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050300_5 Open Source Apps I'd Install Even On Windows.mp4", false, false, false, 35, [], 98, ~U[2026-05-03 13:01:43Z], ~U[2026-06-29 11:40:43Z], ~U[2026-06-29 11:40:43Z], "I list some of the free and open source applications that I love to use. I'd install these on every computer of mine, even if the computer was a Windows machine!\n\n0:00 intro\n0:39 brave (or firefox)\n3:04 vlc\n3:59 libreoffice\n5:53 gimp\n7:24 emacs (or vim or geany)\n9:27 kdenlive\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "5 Open Source Apps I'd Install Even On Windows", "v0WbKKhod74", 712, false, "https://www.youtube.com/watch?v=v0WbKKhod74", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050300_5 Open Source Apps I'd Install Even On Windows.mp4", false, 35, ~U[2026-05-03 13:01:43Z]] 06:40:43.327 [debug] QUERY OK source="sources" db=0.2ms idle=80.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:43.327 [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] 06:40:43.328 [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 [2868248] 06:40:43.328 [debug] Current batch of media processed. Will check again in 1000ms 06:40:44.329 [debug] Current batch of media processed. Will check again in 1000ms 06:40:45.330 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you are a Linux user, a new default folder just appeared in your home directory.\n\nREFERENCED:\n► https://itsfoss.com/news/new-projects-directory-linux/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 329, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e043000_A New Folder Just Appeared In Your Home Directory.mp4", "id" => "tg8PqPcOWjo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tg8PqPcOWjo", "playlist_index" => 15, "timestamp" => 1777554101, "title" => "A New Folder Just Appeared In Your Home Directory", "upload_date" => "20260430"} 06:40:45.331 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms 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" IN (?)) [35] 06:40:45.331 [debug] QUERY OK source="sources" db=0.1ms idle=390.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:45.334 [debug] QUERY OK source="media_items" db=2.8ms idle=390.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-30 13:01:41Z], 35] 06:40:45.336 [debug] QUERY OK source="media_items" db=0.9ms idle=394.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["If you are a Linux user, a new default folder just appeared in your home directory.\n\nREFERENCED:\n► https://itsfoss.com/news/new-projects-directory-linux/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A New Folder Just Appeared In Your Home Directory", "d2846e55-9a8d-4811-8b7e-e65f77e74b7e", "tg8PqPcOWjo", 329, false, "https://www.youtube.com/watch?v=tg8PqPcOWjo", 15, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e043000_A New Folder Just Appeared In Your Home Directory.mp4", false, false, false, 35, [], 98, ~U[2026-04-30 13:01:41Z], ~U[2026-06-29 11:40:45Z], ~U[2026-06-29 11:40:45Z], "If you are a Linux user, a new default folder just appeared in your home directory.\n\nREFERENCED:\n► https://itsfoss.com/news/new-projects-directory-linux/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A New Folder Just Appeared In Your Home Directory", "tg8PqPcOWjo", 329, false, "https://www.youtube.com/watch?v=tg8PqPcOWjo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e043000_A New Folder Just Appeared In Your Home Directory.mp4", false, 35, ~U[2026-04-30 13:01:41Z]] 06:40:45.336 [debug] QUERY OK source="sources" db=0.2ms idle=86.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:45.336 [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] 06:40:45.337 [debug] QUERY OK source="media_items" db=0.1ms 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 [2845295] 06:40:45.337 [debug] Current batch of media processed. Will check again in 1000ms 06:40:46.337 [debug] Current batch of media processed. Will check again in 1000ms 06:40:47.339 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, I'm taking a quick first look at the recently released Ubuntu 26.04, codenamed \"Resolute Raccoon.\" This release is especially important because it's the LTS (Long Term Support) release of Ubuntu, meaning it gets 5-years of support!\n\nREFERENCED:\n► https://ubuntu.com/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 1421, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042700_A Quick Look At Ubuntu 26.04 "Resolute Raccoon".mp4", "id" => "3RpHc4Wl0N8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3RpHc4Wl0N8", "playlist_index" => 16, "timestamp" => 1777296686, "title" => "A Quick Look At Ubuntu 26.04 \"Resolute Raccoon\"", "upload_date" => "20260427"} 06:40:47.339 [debug] QUERY OK source="sources" db=0.2ms idle=398.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:47.340 [debug] QUERY OK source="sources" db=0.1ms idle=399.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:47.343 [debug] QUERY OK source="media_items" db=2.8ms idle=399.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-27 13:31:26Z], 35] 06:40:47.344 [debug] QUERY OK source="media_items" db=0.7ms idle=402.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, I'm taking a quick first look at the recently released Ubuntu 26.04, codenamed \"Resolute Raccoon.\" This release is especially important because it's the LTS (Long Term Support) release of Ubuntu, meaning it gets 5-years of support!\n\nREFERENCED:\n► https://ubuntu.com/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick Look At Ubuntu 26.04 \"Resolute Raccoon\"", "a4a96f33-1e49-4e80-bd73-1064d2e699a0", "3RpHc4Wl0N8", 1421, false, "https://www.youtube.com/watch?v=3RpHc4Wl0N8", 16, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042700_A Quick Look At Ubuntu 26.04 "Resolute Raccoon".mp4", false, false, false, 35, [], 98, ~U[2026-04-27 13:31:26Z], ~U[2026-06-29 11:40:47Z], ~U[2026-06-29 11:40:47Z], "Today, I'm taking a quick first look at the recently released Ubuntu 26.04, codenamed \"Resolute Raccoon.\" This release is especially important because it's the LTS (Long Term Support) release of Ubuntu, meaning it gets 5-years of support!\n\nREFERENCED:\n► https://ubuntu.com/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick Look At Ubuntu 26.04 \"Resolute Raccoon\"", "3RpHc4Wl0N8", 1421, false, "https://www.youtube.com/watch?v=3RpHc4Wl0N8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042700_A Quick Look At Ubuntu 26.04 "Resolute Raccoon".mp4", false, 35, ~U[2026-04-27 13:31:26Z]] 06:40:47.344 [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" = ?) [35] 06:40:47.345 [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] 06:40:47.345 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2822371] 06:40:47.345 [debug] Current batch of media processed. Will check again in 1000ms 06:40:48.346 [debug] Current batch of media processed. Will check again in 1000ms 06:40:49.347 [debug] Current batch of media processed. Will check again in 1000ms 06:40:50.348 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Have you ever met someone that was always right about everything? Maybe you think that you are right about everything... \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 457, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042400_I'm Always Right And You're Always Wrong (A Message To Non-Idiots!).mp4", "id" => "o3RJSUBtsFg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=o3RJSUBtsFg", "playlist_index" => 17, "timestamp" => 1777035694, "title" => "I'm Always Right And You're Always Wrong (A Message To Non-Idiots!)", "upload_date" => "20260424"} 06:40:50.348 [debug] QUERY OK source="sources" db=0.2ms idle=1406.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:50.349 [debug] QUERY OK source="sources" db=0.1ms idle=1407.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:50.352 [debug] QUERY OK source="media_items" db=3.1ms idle=1407.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-24 13:01:34Z], 35] 06:40:50.353 [debug] QUERY OK source="media_items" db=0.8ms idle=1095.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Have you ever met someone that was always right about everything? Maybe you think that you are right about everything... \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I'm Always Right And You're Always Wrong (A Message To Non-Idiots!)", "dcedd7a5-9ae9-4a69-bd2a-7344063229c6", "o3RJSUBtsFg", 457, false, "https://www.youtube.com/watch?v=o3RJSUBtsFg", 17, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042400_I'm Always Right And You're Always Wrong (A Message To Non-Idiots!).mp4", false, false, false, 35, [], 98, ~U[2026-04-24 13:01:34Z], ~U[2026-06-29 11:40:50Z], ~U[2026-06-29 11:40:50Z], "Have you ever met someone that was always right about everything? Maybe you think that you are right about everything... \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I'm Always Right And You're Always Wrong (A Message To Non-Idiots!)", "o3RJSUBtsFg", 457, false, "https://www.youtube.com/watch?v=o3RJSUBtsFg", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042400_I'm Always Right And You're Always Wrong (A Message To Non-Idiots!).mp4", false, 35, ~U[2026-04-24 13:01:34Z]] 06:40:50.354 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [35] 06:40:50.354 [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] 06:40:50.354 [debug] QUERY OK source="media_items" db=0.1ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2799346] 06:40:50.354 [debug] Current batch of media processed. Will check again in 1000ms 06:40:51.355 [debug] Current batch of media processed. Will check again in 1000ms 06:40:52.251 [info] {"source":"oban","duration":7971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:52.356 [debug] Current batch of media processed. Will check again in 1000ms 06:40:53.357 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Can I (a non-programmer) create a rather complicated web app in minutes using Claude A.I.? Spoiler: yes, I can.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 790, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042100_Non-Programmer Builds Web App In Minutes.mp4", "id" => "ry2oqoDY_lA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ry2oqoDY_lA", "playlist_index" => 18, "timestamp" => 1776770099, "title" => "Non-Programmer Builds Web App In Minutes", "upload_date" => "20260421"} 06:40:53.357 [debug] QUERY OK source="sources" db=0.3ms idle=1416.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:53.358 [debug] QUERY OK source="sources" db=0.2ms idle=1416.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:53.361 [debug] QUERY OK source="media_items" db=2.7ms idle=1106.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-21 11:14:59Z], 35] 06:40:53.362 [debug] QUERY OK source="media_items" db=0.8ms idle=1099.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Can I (a non-programmer) create a rather complicated web app in minutes using Claude A.I.? Spoiler: yes, I can.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Non-Programmer Builds Web App In Minutes", "b238734d-5f8a-4d75-ada4-e0e3a281611c", "ry2oqoDY_lA", 790, false, "https://www.youtube.com/watch?v=ry2oqoDY_lA", 18, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042100_Non-Programmer Builds Web App In Minutes.mp4", false, false, false, 35, [], 98, ~U[2026-04-21 11:14:59Z], ~U[2026-06-29 11:40:53Z], ~U[2026-06-29 11:40:53Z], "Can I (a non-programmer) create a rather complicated web app in minutes using Claude A.I.? Spoiler: yes, I can.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Non-Programmer Builds Web App In Minutes", "ry2oqoDY_lA", 790, false, "https://www.youtube.com/watch?v=ry2oqoDY_lA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042100_Non-Programmer Builds Web App In Minutes.mp4", false, 35, ~U[2026-04-21 11:14:59Z]] 06:40:53.362 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [35] 06:40:53.362 [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] 06:40:53.363 [debug] QUERY OK source="media_items" db=0.1ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2776103] 06:40:53.363 [debug] Current batch of media processed. Will check again in 1000ms 06:40:54.364 [debug] Current batch of media processed. Will check again in 1000ms 06:40:55.365 [debug] Current batch of media processed. Will check again in 1000ms 06:40:56.366 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artix Linux is a rolling-release distribution, based on Arch Linux, that offers the user the choice of several different non-systemd init systems. Today, I'm going to take a quick look at Artix with Xfce, dinit and xlibre.\n\nREFERENCED:\n► https://artixlinux.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 1205, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041800_Is Artix Linux Just A Protest Distro?.mp4", "id" => "tdr-144Ondo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tdr-144Ondo", "playlist_index" => 19, "timestamp" => 1776517299, "title" => "Is Artix Linux Just A Protest Distro?", "upload_date" => "20260418"} 06:40:56.366 [debug] QUERY OK source="sources" db=0.2ms idle=1425.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:56.366 [debug] QUERY OK source="sources" db=0.1ms idle=1425.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:56.369 [debug] QUERY OK source="media_items" db=2.8ms idle=1425.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-18 13:01:39Z], 35] 06:40:56.371 [debug] QUERY OK source="media_items" db=0.8ms idle=1102.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Artix Linux is a rolling-release distribution, based on Arch Linux, that offers the user the choice of several different non-systemd init systems. Today, I'm going to take a quick look at Artix with Xfce, dinit and xlibre.\n\nREFERENCED:\n► https://artixlinux.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is Artix Linux Just A Protest Distro?", "c43ccf95-9ba4-4180-866d-d53608ce3344", "tdr-144Ondo", 1205, false, "https://www.youtube.com/watch?v=tdr-144Ondo", 19, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041800_Is Artix Linux Just A Protest Distro?.mp4", false, false, false, 35, [], 98, ~U[2026-04-18 13:01:39Z], ~U[2026-06-29 11:40:56Z], ~U[2026-06-29 11:40:56Z], "Artix Linux is a rolling-release distribution, based on Arch Linux, that offers the user the choice of several different non-systemd init systems. Today, I'm going to take a quick look at Artix with Xfce, dinit and xlibre.\n\nREFERENCED:\n► https://artixlinux.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is Artix Linux Just A Protest Distro?", "tdr-144Ondo", 1205, false, "https://www.youtube.com/watch?v=tdr-144Ondo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041800_Is Artix Linux Just A Protest Distro?.mp4", false, 35, ~U[2026-04-18 13:01:39Z]] 06:40:56.371 [debug] QUERY OK source="sources" db=0.1ms idle=102.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:56.371 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:40:56.371 [debug] QUERY OK source="media_items" db=0.1ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2752907] 06:40:56.372 [debug] Current batch of media processed. Will check again in 1000ms 06:40:57.373 [debug] Current batch of media processed. Will check again in 1000ms 06:40:58.374 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "CuerdOS is a GNU/Linux distribution of Spanish origin focused on stability, efficiency, and performance. Today, I'm taking a look at their KDE Plasma edition.\n\nREFERENCED:\n► https://cuerdos.github.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 992, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041200_CuerdOS Is Not Just Another Distro! (Or Is It?).mp4", "id" => "Bh4cQJ5aTUg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Bh4cQJ5aTUg", "playlist_index" => 20, "timestamp" => 1775998818, "title" => "CuerdOS Is Not Just Another Distro! (Or Is It?)", "upload_date" => "20260412"} 06:40:58.374 [debug] QUERY OK source="sources" db=0.1ms idle=433.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:58.375 [debug] QUERY OK source="sources" db=0.1ms idle=433.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.377 [debug] QUERY OK source="media_items" db=2.8ms idle=434.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-12 13:00:18Z], 35] 06:40:58.379 [debug] QUERY OK source="media_items" db=0.9ms idle=437.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["CuerdOS is a GNU/Linux distribution of Spanish origin focused on stability, efficiency, and performance. Today, I'm taking a look at their KDE Plasma edition.\n\nREFERENCED:\n► https://cuerdos.github.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "CuerdOS Is Not Just Another Distro! (Or Is It?)", "8e1c9591-e481-47ee-808f-716d015774bd", "Bh4cQJ5aTUg", 992, false, "https://www.youtube.com/watch?v=Bh4cQJ5aTUg", 20, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041200_CuerdOS Is Not Just Another Distro! (Or Is It?).mp4", false, false, false, 35, [], 98, ~U[2026-04-12 13:00:18Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "CuerdOS is a GNU/Linux distribution of Spanish origin focused on stability, efficiency, and performance. Today, I'm taking a look at their KDE Plasma edition.\n\nREFERENCED:\n► https://cuerdos.github.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "CuerdOS Is Not Just Another Distro! (Or Is It?)", "Bh4cQJ5aTUg", 992, false, "https://www.youtube.com/watch?v=Bh4cQJ5aTUg", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041200_CuerdOS Is Not Just Another Distro! (Or Is It?).mp4", false, 35, ~U[2026-04-12 13:00:18Z]] 06:40:58.379 [debug] QUERY OK source="sources" db=0.1ms idle=107.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.379 [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] 06:40:58.380 [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 [2712339] 06:40:58.380 [debug] Current batch of media processed. Will check again in 1000ms 06:40:58.437 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/69/33/69339a4fdd445829eed95962e79b60db614494030ce86953ac3595224b45bfdc.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/57/e7/57e759597bc41d55e2dfe6a42cd6b5b65a639f2d9e9d78c226e9366c6657e2be.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 06:40:58.437 [debug] Gracefully stopping file follower 06:40:58.438 [debug] QUERY OK source="sources" db=0.6ms idle=59.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 06:40:58.438 [debug] QUERY OK source="sources" db=0.0ms idle=59.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.441 [debug] QUERY OK source="media_items" db=2.6ms idle=59.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-26 13:00:16Z], 35] 06:40:58.444 [debug] QUERY OK source="media_items" db=2.6ms idle=61.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["RefreshOS 3 brings together the stability of Debian 13 and the beauty of KDE Plasma 6 into a desktop experience that simply feels right. Built with Qt 6 and the Linux 6.12 kernel, it delivers a modern desktop that feels fast, clean, smooth, and genuinely enjoyable to use every day.\n\nREFERENCED:\n► https://refreshos.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "RefreshOS Combines Debian Stability With KDE Beauty", "8fa1558a-997b-4234-a265-b9c8b222c470", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", 1, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062600_RefreshOS Combines Debian Stability With KDE Beauty.mp4", false, false, false, 35, [], 98, ~U[2026-06-26 13:00:16Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "RefreshOS 3 brings together the stability of Debian 13 and the beauty of KDE Plasma 6 into a desktop experience that simply feels right. Built with Qt 6 and the Linux 6.12 kernel, it delivers a modern desktop that feels fast, clean, smooth, and genuinely enjoyable to use every day.\n\nREFERENCED:\n► https://refreshos.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "RefreshOS Combines Debian Stability With KDE Beauty", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062600_RefreshOS Combines Debian Stability With KDE Beauty.mp4", false, 35, ~U[2026-06-26 13:00:16Z]] 06:40:58.444 [debug] QUERY OK source="sources" db=0.1ms idle=64.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.447 [debug] QUERY OK source="media_items" db=2.6ms idle=6.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-21 13:00:33Z], 35] 06:40:58.448 [debug] QUERY OK source="media_items" db=0.8ms idle=9.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["BoxBuddy is a graphical frontend to distrobox, which allows you to install packages from other Linux distro's repositories.\n\nREFERENCED:\n► https://github.com/Dvlv/BoxBuddyRS\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Install Programs From Any Linux Distro With BoxBuddy", "19d5c2e3-6b8c-418c-95af-aca159dc5bc9", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", 2, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062100_Install Programs From Any Linux Distro With BoxBuddy.mp4", false, false, false, 35, [], 98, ~U[2026-06-21 13:00:33Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "BoxBuddy is a graphical frontend to distrobox, which allows you to install packages from other Linux distro's repositories.\n\nREFERENCED:\n► https://github.com/Dvlv/BoxBuddyRS\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Install Programs From Any Linux Distro With BoxBuddy", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062100_Install Programs From Any Linux Distro With BoxBuddy.mp4", false, 35, ~U[2026-06-21 13:00:33Z]] 06:40:58.449 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.452 [debug] QUERY OK source="media_items" db=2.5ms idle=5.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-16 13:00:28Z], 35] 06:40:58.453 [debug] QUERY OK source="media_items" db=0.9ms idle=7.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Random thoughts about the state of Arch Linux after this massive malware attack on the AUR.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is It Time To Leave Arch Linux?", "a847baae-d443-4e6a-adad-60b7f0e977b1", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", 3, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061600_Is It Time To Leave Arch Linux?.mp4", false, false, false, 35, [], 98, ~U[2026-06-16 13:00:28Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "Random thoughts about the state of Arch Linux after this massive malware attack on the AUR.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is It Time To Leave Arch Linux?", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061600_Is It Time To Leave Arch Linux?.mp4", false, 35, ~U[2026-06-16 13:00:28Z]] 06:40:58.453 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [35] 06:40:58.456 [debug] QUERY OK source="media_items" db=2.4ms 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-12 16:30:20Z], 35] 06:40:58.457 [debug] QUERY OK source="media_items" db=0.8ms idle=7.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch contributors are cleaning up a malware incident in the AUR after suspicious updates appeared across several user-maintained packages.\n\nREFERENCED:\n► https://linuxiac.com/arch-linux-aur-malware-campaign-hits-multiple-user-contributed-packages/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Major Malware Incident Hits Arch AUR!", "5a2890eb-c03e-42c4-b2bd-34496960e0cd", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", 4, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061200_Major Malware Incident Hits Arch AUR!.mp4", false, false, false, 35, [], 98, ~U[2026-06-12 16:30:20Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "Arch contributors are cleaning up a malware incident in the AUR after suspicious updates appeared across several user-maintained packages.\n\nREFERENCED:\n► https://linuxiac.com/arch-linux-aur-malware-campaign-hits-multiple-user-contributed-packages/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Major Malware Incident Hits Arch AUR!", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061200_Major Malware Incident Hits Arch AUR!.mp4", false, 35, ~U[2026-06-12 16:30:20Z]] 06:40:58.458 [debug] QUERY OK source="sources" db=0.3ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.460 [debug] QUERY OK source="media_items" db=2.4ms 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-06-08 13:00:33Z], 35] 06:40:58.461 [debug] QUERY OK source="media_items" db=0.8ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["For decades, Linux enthusiasts have dreamed of \"the Year of the Linux Desktop.\" Despite Linux powering much of the internet, if not most of the internet, as well as cloud computing, and even Android, desktop Linux has remained a niche choice for most computer users. But artificial intelligence may finally change that.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!)", "fee139ef-a4bf-42c9-9216-355a02fa9be3", "LuvxUKBXkqA", 826, false, "https://www.youtube.com/watch?v=LuvxUKBXkqA", 5, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060800_A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!).mp4", false, false, false, 35, [], 98, ~U[2026-06-08 13:00:33Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "For decades, Linux enthusiasts have dreamed of \"the Year of the Linux Desktop.\" Despite Linux powering much of the internet, if not most of the internet, as well as cloud computing, and even Android, desktop Linux has remained a niche choice for most computer users. But artificial intelligence may finally change that.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!)", "LuvxUKBXkqA", 826, false, "https://www.youtube.com/watch?v=LuvxUKBXkqA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060800_A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!).mp4", false, 35, ~U[2026-06-08 13:00:33Z]] 06:40:58.462 [debug] QUERY OK source="sources" db=0.3ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.464 [debug] QUERY OK source="media_items" db=2.3ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-02 13:00:24Z], 35] 06:40:58.466 [debug] QUERY OK source="media_items" db=0.8ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Have you ever wanted to automate certain tasks on your Linux system? Maybe a backup, or system cleanup, or running a specific script every week or every month. Cronie allows you to easily schedule such tasks on your Linux machine.\n\nREFERENCED:\n► https://wiki.archlinux.org/title/Cron\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "How To Schedule Linux Jobs With Cronie", "18afaf63-4115-4201-9ed6-5c1f373a4b6b", "FPVQ_w0wxCI", 597, false, "https://www.youtube.com/watch?v=FPVQ_w0wxCI", 6, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060200_How To Schedule Linux Jobs With Cronie.mp4", false, false, false, 35, [], 98, ~U[2026-06-02 13:00:24Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "Have you ever wanted to automate certain tasks on your Linux system? Maybe a backup, or system cleanup, or running a specific script every week or every month. Cronie allows you to easily schedule such tasks on your Linux machine.\n\nREFERENCED:\n► https://wiki.archlinux.org/title/Cron\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "How To Schedule Linux Jobs With Cronie", "FPVQ_w0wxCI", 597, false, "https://www.youtube.com/watch?v=FPVQ_w0wxCI", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060200_How To Schedule Linux Jobs With Cronie.mp4", false, 35, ~U[2026-06-02 13:00:24Z]] 06:40:58.466 [debug] QUERY OK source="sources" db=0.3ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.469 [debug] QUERY OK source="media_items" db=2.5ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-28 13:00:03Z], 35] 06:40:58.488 [debug] QUERY OK source="media_items" db=18.8ms idle=7.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Quarkos is a user friendly, desktop oriented operating system based on Ubuntu Linux with Plasma, optionally Trinity desktop environment, and an added value thanks to unique Q4OS tools integrated. Its goal is to provide Ubuntu based operating system with Q4OS amenities. Unlike Q4OS, which is Debian based, Quarkos is based on Ubuntu.\n\nREFERENCED:\n► https://quark-os.sourceforge.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick First Look At QuarkOS", "a9498466-b015-4b72-b81b-1c21bbbc37cb", "kj6ZfmmPHpY", 879, false, "https://www.youtube.com/watch?v=kj6ZfmmPHpY", 7, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052800_A Quick First Look At QuarkOS.mp4", false, false, false, 35, [], 98, ~U[2026-05-28 13:00:03Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "Quarkos is a user friendly, desktop oriented operating system based on Ubuntu Linux with Plasma, optionally Trinity desktop environment, and an added value thanks to unique Q4OS tools integrated. Its goal is to provide Ubuntu based operating system with Q4OS amenities. Unlike Q4OS, which is Debian based, Quarkos is based on Ubuntu.\n\nREFERENCED:\n► https://quark-os.sourceforge.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick First Look At QuarkOS", "kj6ZfmmPHpY", 879, false, "https://www.youtube.com/watch?v=kj6ZfmmPHpY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052800_A Quick First Look At QuarkOS.mp4", false, 35, ~U[2026-05-28 13:00:03Z]] 06:40:58.489 [debug] QUERY OK source="sources" db=0.6ms idle=23.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.492 [debug] QUERY OK source="media_items" db=2.5ms idle=23.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-25 13:00:15Z], 35] 06:40:58.496 [debug] QUERY OK source="media_items" db=3.9ms idle=25.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["For the last six months, I have had a serious audio bug that greatly limited my ability to record videos. \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I Almost Quit YouTube Because Of This Audio Issue", "c91ee04b-0dde-4dc4-94b9-0b4ae7fce416", "lRFfAiQ9Q1I", 702, false, "https://www.youtube.com/watch?v=lRFfAiQ9Q1I", 8, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052500_I Almost Quit YouTube Because Of This Audio Issue.mp4", false, false, false, 35, [], 98, ~U[2026-05-25 13:00:15Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "For the last six months, I have had a serious audio bug that greatly limited my ability to record videos. \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I Almost Quit YouTube Because Of This Audio Issue", "lRFfAiQ9Q1I", 702, false, "https://www.youtube.com/watch?v=lRFfAiQ9Q1I", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052500_I Almost Quit YouTube Because Of This Audio Issue.mp4", false, 35, ~U[2026-05-25 13:00:15Z]] 06:40:58.497 [debug] QUERY OK source="sources" db=0.6ms idle=27.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.500 [debug] QUERY OK source="media_items" db=2.5ms idle=9.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-21 15:41:14Z], 35] 06:40:58.501 [debug] QUERY OK source="media_items" db=0.9ms idle=10.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I want to try out something different for the next edition of HEY DT. Instead of responding to YouTube comments, I want to respond to voice messages! What could possibly go wrong!\n\nLEAVE ME A VOICE MESSAGE FOR HEY DT:\n► https://www.speakpipe.com/dt (Leave 'Name' too...it can be a fake name!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!)", "bea72132-db01-4185-b0f2-05d59a73ae6b", "9i276gE7KV8", 163, false, "https://www.youtube.com/watch?v=9i276gE7KV8", 9, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052100_Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!).mp4", false, false, false, 35, [], 98, ~U[2026-05-21 15:41:14Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "I want to try out something different for the next edition of HEY DT. Instead of responding to YouTube comments, I want to respond to voice messages! What could possibly go wrong!\n\nLEAVE ME A VOICE MESSAGE FOR HEY DT:\n► https://www.speakpipe.com/dt (Leave 'Name' too...it can be a fake name!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!)", "9i276gE7KV8", 163, false, "https://www.youtube.com/watch?v=9i276gE7KV8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052100_Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!).mp4", false, 35, ~U[2026-05-21 15:41:14Z]] 06:40:58.501 [debug] QUERY OK source="sources" db=0.3ms idle=9.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.504 [debug] QUERY OK source="media_items" db=2.4ms idle=5.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-15 13:01:07Z], 35] 06:40:58.505 [debug] QUERY OK source="media_items" db=0.8ms idle=7.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Linux and Windows are different...obviously. But what are some of the features that Linux has that Windows doesn't?\n\nARTICLE REFERENCED:\n► https://www.xda-developers.com/6-linux-features-windows-still-doesnt-have-in-2026/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Features Linux Has...But Windows Doesn't!", "eede6e71-6c70-4f34-9697-ff297cd8fcb1", "bldTm7cAHB4", 675, false, "https://www.youtube.com/watch?v=bldTm7cAHB4", 10, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051500_Features Linux Has...But Windows Doesn't!.mp4", false, false, false, 35, [], 98, ~U[2026-05-15 13:01:07Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "Linux and Windows are different...obviously. But what are some of the features that Linux has that Windows doesn't?\n\nARTICLE REFERENCED:\n► https://www.xda-developers.com/6-linux-features-windows-still-doesnt-have-in-2026/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Features Linux Has...But Windows Doesn't!", "bldTm7cAHB4", 675, false, "https://www.youtube.com/watch?v=bldTm7cAHB4", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051500_Features Linux Has...But Windows Doesn't!.mp4", false, 35, ~U[2026-05-15 13:01:07Z]] 06:40:58.506 [debug] QUERY OK source="sources" db=0.3ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.508 [debug] QUERY OK source="media_items" db=2.3ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-12 12:31:04Z], 35] 06:40:58.509 [debug] QUERY OK source="media_items" db=0.7ms idle=6.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["These seven shells aliases are practically required if you don't want your terminal experience to suck.\n\nalias ls='ls -lah --color=always --group-directories-first'\nalias rm=' rm -I --preserve-root'\nalias cp='cp -i'\nalias mv='mv -i'\nalias mkdir='mkdir -p'\nalias ping='ping -c 5'\nalias update='sudo pacman -Syu' (or whatever your distro uses!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "7 Aliases That Make The Terminal Great Again", "93e58a3d-baa7-4d53-875f-581a155bb72c", "NLCPh9iAknk", 782, false, "https://www.youtube.com/watch?v=NLCPh9iAknk", 11, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051200_7 Aliases That Make The Terminal Great Again.mp4", false, false, false, 35, [], 98, ~U[2026-05-12 12:31:04Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "These seven shells aliases are practically required if you don't want your terminal experience to suck.\n\nalias ls='ls -lah --color=always --group-directories-first'\nalias rm=' rm -I --preserve-root'\nalias cp='cp -i'\nalias mv='mv -i'\nalias mkdir='mkdir -p'\nalias ping='ping -c 5'\nalias update='sudo pacman -Syu' (or whatever your distro uses!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "7 Aliases That Make The Terminal Great Again", "NLCPh9iAknk", 782, false, "https://www.youtube.com/watch?v=NLCPh9iAknk", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051200_7 Aliases That Make The Terminal Great Again.mp4", false, 35, ~U[2026-05-12 12:31:04Z]] 06:40:58.510 [debug] QUERY OK source="sources" db=0.3ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.512 [debug] QUERY OK source="media_items" db=2.3ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-09 13:00:17Z], 35] 06:40:58.513 [debug] QUERY OK source="media_items" db=0.7ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A serious discussion about one of the biggest problems facing society. Rant incoming!\n\nREFERENCED:\n► Lunduke's Video: https://www.youtube.com/watch?v=jGdyMx4dZQ0\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Does Open Source Have A Pedo Problem?", "44ca71d1-ce62-4c3a-9efb-809576996281", "5Gb91JNF89M", 1243, false, "https://www.youtube.com/watch?v=5Gb91JNF89M", 12, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050900_Does Open Source Have A Pedo Problem?.mp4", false, false, false, 35, [], 98, ~U[2026-05-09 13:00:17Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "A serious discussion about one of the biggest problems facing society. Rant incoming!\n\nREFERENCED:\n► Lunduke's Video: https://www.youtube.com/watch?v=jGdyMx4dZQ0\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Does Open Source Have A Pedo Problem?", "5Gb91JNF89M", 1243, false, "https://www.youtube.com/watch?v=5Gb91JNF89M", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050900_Does Open Source Have A Pedo Problem?.mp4", false, 35, ~U[2026-05-09 13:00:17Z]] 06:40:58.514 [debug] QUERY OK source="sources" db=0.3ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.516 [debug] QUERY OK source="media_items" db=2.4ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-06 13:00:55Z], 35] 06:40:58.517 [debug] QUERY OK source="media_items" db=0.7ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A lengthy, unstructured boomer rant that goes all over the place. Enjoy!\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Linux...So Much Has Changed In The Last 20 Years", "ad524968-3dc6-44ef-ad27-334d3efc9617", "Ol7kVJx8KcY", 1712, false, "https://www.youtube.com/watch?v=Ol7kVJx8KcY", 13, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050600_Linux...So Much Has Changed In The Last 20 Years.mp4", false, false, false, 35, [], 98, ~U[2026-05-06 13:00:55Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "A lengthy, unstructured boomer rant that goes all over the place. Enjoy!\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Linux...So Much Has Changed In The Last 20 Years", "Ol7kVJx8KcY", 1712, false, "https://www.youtube.com/watch?v=Ol7kVJx8KcY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050600_Linux...So Much Has Changed In The Last 20 Years.mp4", false, 35, ~U[2026-05-06 13:00:55Z]] 06:40:58.518 [debug] QUERY OK source="sources" db=0.3ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.520 [debug] QUERY OK source="media_items" db=2.4ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 13:01:43Z], 35] 06:40:58.521 [debug] QUERY OK source="media_items" db=0.7ms idle=6.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I list some of the free and open source applications that I love to use. I'd install these on every computer of mine, even if the computer was a Windows machine!\n\n0:00 intro\n0:39 brave (or firefox)\n3:04 vlc\n3:59 libreoffice\n5:53 gimp\n7:24 emacs (or vim or geany)\n9:27 kdenlive\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "5 Open Source Apps I'd Install Even On Windows", "92b3573b-15c7-42e6-aa24-0d83c10fe6cc", "v0WbKKhod74", 712, false, "https://www.youtube.com/watch?v=v0WbKKhod74", 14, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050300_5 Open Source Apps I'd Install Even On Windows.mp4", false, false, false, 35, [], 98, ~U[2026-05-03 13:01:43Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "I list some of the free and open source applications that I love to use. I'd install these on every computer of mine, even if the computer was a Windows machine!\n\n0:00 intro\n0:39 brave (or firefox)\n3:04 vlc\n3:59 libreoffice\n5:53 gimp\n7:24 emacs (or vim or geany)\n9:27 kdenlive\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "5 Open Source Apps I'd Install Even On Windows", "v0WbKKhod74", 712, false, "https://www.youtube.com/watch?v=v0WbKKhod74", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050300_5 Open Source Apps I'd Install Even On Windows.mp4", false, 35, ~U[2026-05-03 13:01:43Z]] 06:40:58.522 [debug] QUERY OK source="sources" db=0.3ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.525 [debug] QUERY OK source="media_items" db=2.4ms 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-04-30 13:01:41Z], 35] 06:40:58.526 [debug] QUERY OK source="media_items" db=0.8ms idle=6.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["If you are a Linux user, a new default folder just appeared in your home directory.\n\nREFERENCED:\n► https://itsfoss.com/news/new-projects-directory-linux/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A New Folder Just Appeared In Your Home Directory", "2f4b3461-1f5d-425f-9f17-3aa610040b84", "tg8PqPcOWjo", 329, false, "https://www.youtube.com/watch?v=tg8PqPcOWjo", 15, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e043000_A New Folder Just Appeared In Your Home Directory.mp4", false, false, false, 35, [], 98, ~U[2026-04-30 13:01:41Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "If you are a Linux user, a new default folder just appeared in your home directory.\n\nREFERENCED:\n► https://itsfoss.com/news/new-projects-directory-linux/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A New Folder Just Appeared In Your Home Directory", "tg8PqPcOWjo", 329, false, "https://www.youtube.com/watch?v=tg8PqPcOWjo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e043000_A New Folder Just Appeared In Your Home Directory.mp4", false, 35, ~U[2026-04-30 13:01:41Z]] 06:40:58.526 [debug] QUERY OK source="sources" db=0.3ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.529 [debug] QUERY OK source="media_items" db=2.3ms idle=5.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-27 13:31:26Z], 35] 06:40:58.530 [debug] QUERY OK source="media_items" db=0.7ms idle=6.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, I'm taking a quick first look at the recently released Ubuntu 26.04, codenamed \"Resolute Raccoon.\" This release is especially important because it's the LTS (Long Term Support) release of Ubuntu, meaning it gets 5-years of support!\n\nREFERENCED:\n► https://ubuntu.com/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick Look At Ubuntu 26.04 \"Resolute Raccoon\"", "7a5a1127-16bb-40ef-807d-addcaebdb3a8", "3RpHc4Wl0N8", 1421, false, "https://www.youtube.com/watch?v=3RpHc4Wl0N8", 16, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042700_A Quick Look At Ubuntu 26.04 "Resolute Raccoon".mp4", false, false, false, 35, [], 98, ~U[2026-04-27 13:31:26Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "Today, I'm taking a quick first look at the recently released Ubuntu 26.04, codenamed \"Resolute Raccoon.\" This release is especially important because it's the LTS (Long Term Support) release of Ubuntu, meaning it gets 5-years of support!\n\nREFERENCED:\n► https://ubuntu.com/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick Look At Ubuntu 26.04 \"Resolute Raccoon\"", "3RpHc4Wl0N8", 1421, false, "https://www.youtube.com/watch?v=3RpHc4Wl0N8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042700_A Quick Look At Ubuntu 26.04 "Resolute Raccoon".mp4", false, 35, ~U[2026-04-27 13:31:26Z]] 06:40:58.530 [debug] QUERY OK source="sources" db=0.3ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.533 [debug] QUERY OK source="media_items" db=2.4ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-24 13:01:34Z], 35] 06:40:58.534 [debug] QUERY OK source="media_items" db=0.7ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Have you ever met someone that was always right about everything? Maybe you think that you are right about everything... \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I'm Always Right And You're Always Wrong (A Message To Non-Idiots!)", "968c0182-9900-44d8-b924-44a25b73292f", "o3RJSUBtsFg", 457, false, "https://www.youtube.com/watch?v=o3RJSUBtsFg", 17, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042400_I'm Always Right And You're Always Wrong (A Message To Non-Idiots!).mp4", false, false, false, 35, [], 98, ~U[2026-04-24 13:01:34Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "Have you ever met someone that was always right about everything? Maybe you think that you are right about everything... \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I'm Always Right And You're Always Wrong (A Message To Non-Idiots!)", "o3RJSUBtsFg", 457, false, "https://www.youtube.com/watch?v=o3RJSUBtsFg", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042400_I'm Always Right And You're Always Wrong (A Message To Non-Idiots!).mp4", false, 35, ~U[2026-04-24 13:01:34Z]] 06:40:58.534 [debug] QUERY OK source="sources" db=0.3ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.537 [debug] QUERY OK source="media_items" db=2.3ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-21 11:14:59Z], 35] 06:40:58.538 [debug] QUERY OK source="media_items" db=0.7ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Can I (a non-programmer) create a rather complicated web app in minutes using Claude A.I.? Spoiler: yes, I can.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Non-Programmer Builds Web App In Minutes", "2eabc12b-ebda-459e-b1b4-e9b3895b765b", "ry2oqoDY_lA", 790, false, "https://www.youtube.com/watch?v=ry2oqoDY_lA", 18, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042100_Non-Programmer Builds Web App In Minutes.mp4", false, false, false, 35, [], 98, ~U[2026-04-21 11:14:59Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "Can I (a non-programmer) create a rather complicated web app in minutes using Claude A.I.? Spoiler: yes, I can.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Non-Programmer Builds Web App In Minutes", "ry2oqoDY_lA", 790, false, "https://www.youtube.com/watch?v=ry2oqoDY_lA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042100_Non-Programmer Builds Web App In Minutes.mp4", false, 35, ~U[2026-04-21 11:14:59Z]] 06:40:58.538 [debug] QUERY OK source="sources" db=0.3ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.541 [debug] QUERY OK source="media_items" db=2.3ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-18 13:01:39Z], 35] 06:40:58.542 [debug] QUERY OK source="media_items" db=0.7ms idle=6.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Artix Linux is a rolling-release distribution, based on Arch Linux, that offers the user the choice of several different non-systemd init systems. Today, I'm going to take a quick look at Artix with Xfce, dinit and xlibre.\n\nREFERENCED:\n► https://artixlinux.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is Artix Linux Just A Protest Distro?", "dd6ddf59-19ca-43a5-8f84-05d74050f8be", "tdr-144Ondo", 1205, false, "https://www.youtube.com/watch?v=tdr-144Ondo", 19, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041800_Is Artix Linux Just A Protest Distro?.mp4", false, false, false, 35, [], 98, ~U[2026-04-18 13:01:39Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "Artix Linux is a rolling-release distribution, based on Arch Linux, that offers the user the choice of several different non-systemd init systems. Today, I'm going to take a quick look at Artix with Xfce, dinit and xlibre.\n\nREFERENCED:\n► https://artixlinux.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is Artix Linux Just A Protest Distro?", "tdr-144Ondo", 1205, false, "https://www.youtube.com/watch?v=tdr-144Ondo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041800_Is Artix Linux Just A Protest Distro?.mp4", false, 35, ~U[2026-04-18 13:01:39Z]] 06:40:58.542 [debug] QUERY OK source="sources" db=0.3ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 06:40:58.545 [debug] QUERY OK source="media_items" db=2.3ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-12 13:00:18Z], 35] 06:40:58.546 [debug] QUERY OK source="media_items" db=0.7ms idle=6.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["CuerdOS is a GNU/Linux distribution of Spanish origin focused on stability, efficiency, and performance. Today, I'm taking a look at their KDE Plasma edition.\n\nREFERENCED:\n► https://cuerdos.github.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "CuerdOS Is Not Just Another Distro! (Or Is It?)", "e336e6df-502c-4520-9c02-2feddd081ac8", "Bh4cQJ5aTUg", 992, false, "https://www.youtube.com/watch?v=Bh4cQJ5aTUg", 20, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041200_CuerdOS Is Not Just Another Distro! (Or Is It?).mp4", false, false, false, 35, [], 98, ~U[2026-04-12 13:00:18Z], ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], "CuerdOS is a GNU/Linux distribution of Spanish origin focused on stability, efficiency, and performance. Today, I'm taking a look at their KDE Plasma edition.\n\nREFERENCED:\n► https://cuerdos.github.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "CuerdOS Is Not Just Another Distro! (Or Is It?)", "Bh4cQJ5aTUg", 992, false, "https://www.youtube.com/watch?v=Bh4cQJ5aTUg", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041200_CuerdOS Is Not Just Another Distro! (Or Is It?).mp4", false, 35, ~U[2026-04-12 13:00:18Z]] 06:40:58.546 [debug] QUERY OK source="sources" db=0.3ms idle=5.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z], 35] 06:40:58.549 [debug] QUERY OK source="media_items" db=2.5ms idle=4.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [35] 06:40:58.552 [debug] QUERY OK source="media_items" db=2.5ms 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")))) [35] 06:40:58.552 [debug] QUERY OK source="media_items" db=0.5ms idle=7.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 06:40:58.554 [debug] QUERY OK source="tasks" db=0.3ms idle=4.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419762, 35, ~U[2026-06-29 11:40:58Z], ~U[2026-06-29 11:40:58Z]] 06:40:58.554 [info] {"args":{"id":35},"id":419669,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":55361770,"event":"job:stop","queue_time":222700,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 06:41:00.003 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:41:22.262 [info] {"source":"oban","duration":8970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:52.271 [info] {"source":"oban","duration":8526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.004 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:42:22.277 [info] {"source":"oban","duration":5131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:52.287 [info] {"source":"oban","duration":9534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.005 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:43:22.293 [info] {"source":"oban","duration":5773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:43:34.469 [info] {"args":{"id":51},"id":419746,"meta":{},"system_time":1782733414469590405,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:43:34.470 [debug] QUERY OK source="sources" db=0.1ms idle=528.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:43:34.470 [debug] QUERY OK source="settings" db=0.5ms idle=529.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:43:34.471 [debug] QUERY OK source="media_profiles" db=0.1ms idle=529.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:43:34.471 [debug] QUERY OK source="settings" db=0.1ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:43:34.471 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 06:43:34.659 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 06:43:34.659 [debug] QUERY OK source="media_items" db=0.3ms idle=189.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 06:43:34.660 [debug] QUERY OK source="media_items" db=0.3ms idle=189.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")))) [51] 06:43:34.661 [debug] QUERY OK source="tasks" db=0.1ms idle=189.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419763, 51, ~U[2026-06-29 11:43:34Z], ~U[2026-06-29 11:43:34Z]] 06:43:34.661 [info] {"args":{"id":51},"id":419746,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":191928,"event":"job:stop","queue_time":669080,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:43:52.301 [info] {"source":"oban","duration":7223,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.006 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:44:22.309 [info] {"source":"oban","duration":7456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:52.316 [info] {"source":"oban","duration":5785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.007 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:45:17.626 [info] {"args":{"id":52},"id":419759,"meta":{},"system_time":1782733517626882544,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:45:17.627 [debug] QUERY OK source="sources" db=0.6ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:45:17.627 [debug] QUERY OK source="settings" db=0.1ms idle=1686.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:17.628 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:17.628 [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 [] 06:45:17.628 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 06:45:17.676 [debug] Media ids fetched from RSS: ["HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 06:45:17.677 [debug] QUERY OK source="media_items" db=0.4ms idle=50.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 06:45:17.678 [debug] QUERY OK source="media_items" db=0.5ms idle=50.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")))) [52] 06:45:17.684 [debug] QUERY OK source="tasks" db=0.1ms idle=55.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419764, 1301334, ~U[2026-06-29 11:45:17Z], ~U[2026-06-29 11:45:17Z]] 06:45:17.686 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419765, 1301335, ~U[2026-06-29 11:45:17Z], ~U[2026-06-29 11:45:17Z]] 06:45:17.688 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419766, 1301347, ~U[2026-06-29 11:45:17Z], ~U[2026-06-29 11:45:17Z]] 06:45:17.691 [info] {"args":{"id":1301334},"id":419764,"meta":{},"system_time":1782733517691186755,"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"]} 06:45:17.691 [info] {"args":{"id":1301335},"id":419765,"meta":{},"system_time":1782733517691225520,"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"]} 06:45:17.692 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 06:45:17.692 [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 WHERE (m0."id" = ?) [1301335] 06:45:17.692 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:45:17.692 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:45:17.692 [debug] QUERY OK source="sources" db=0.5ms idle=0.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:45:17.692 [debug] QUERY OK source="sources" db=0.6ms idle=1.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:45:17.693 [debug] QUERY OK source="tasks" db=0.3ms idle=0.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419767, 1301392, ~U[2026-06-29 11:45:17Z], ~U[2026-06-29 11:45:17Z]] 06:45:17.693 [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] 06:45:17.693 [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] 06:45:17.693 [debug] QUERY OK source="media_items" db=0.6ms idle=0.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 [1301335] 06:45:17.693 [debug] QUERY OK source="media_items" db=0.5ms 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 [1301334] 06:45:17.694 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301335] 06:45:17.695 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:17.695 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:17.695 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301334] 06:45:17.695 [debug] QUERY OK source="settings" db=0.2ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:17.696 [debug] Running yt-dlp command for action: get_downloadable_status 06:45:17.696 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:17.696 [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 [] 06:45:17.696 [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 [] 06:45:17.697 [debug] QUERY OK source="tasks" db=0.2ms idle=0.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419768, 1301393, ~U[2026-06-29 11:45:17Z], ~U[2026-06-29 11:45:17Z]] 06:45:17.697 [debug] Running yt-dlp command for action: get_downloadable_status 06:45:17.698 [debug] QUERY OK source="settings" db=0.2ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:17.698 [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 [] 06:45:17.698 [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 [] 06:45:17.698 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/37/99/3799b2f81cee4a012fbefa4980628e3d420ae78814624cc8e40af3b0430fee8f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:45:17.698 [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 [] 06:45:17.699 [debug] QUERY OK source="settings" db=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:17.699 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:17.699 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/77/f577d8fa251d0d4ac4980ac1efb7d59d06dfb075a2855a353273a9247356c925.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:45:17.700 [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" [419769, 1301394, ~U[2026-06-29 11:45:17Z], ~U[2026-06-29 11:45:17Z]] 06:45:17.703 [debug] QUERY OK source="tasks" db=0.3ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419770, 1301395, ~U[2026-06-29 11:45:17Z], ~U[2026-06-29 11:45:17Z]] 06:45:17.706 [debug] QUERY OK source="tasks" db=0.1ms idle=3.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419771, 1301397, ~U[2026-06-29 11:45:17Z], ~U[2026-06-29 11:45:17Z]] 06:45:17.708 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419772, 1301398, ~U[2026-06-29 11:45:17Z], ~U[2026-06-29 11:45:17Z]] 06:45:17.711 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419773, 1301399, ~U[2026-06-29 11:45:17Z], ~U[2026-06-29 11:45:17Z]] 06:45:17.713 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419774, 1301400, ~U[2026-06-29 11:45:17Z], ~U[2026-06-29 11:45:17Z]] 06:45:17.716 [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" [419775, 2720968, ~U[2026-06-29 11:45:17Z], ~U[2026-06-29 11:45:17Z]] 06:45:17.717 [debug] QUERY OK source="tasks" db=0.2ms idle=1.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419776, 52, ~U[2026-06-29 11:45:17Z], ~U[2026-06-29 11:45:17Z]] 06:45:17.717 [info] {"args":{"id":52},"id":419759,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":90270,"event":"job:stop","queue_time":754880,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:45:19.463 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/77/f577d8fa251d0d4ac4980ac1efb7d59d06dfb075a2855a353273a9247356c925.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:45:19.463 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:19.463 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:19.463 [info] {"args":{"id":1301334},"id":419764,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1772237,"event":"job:stop","queue_time":689893,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:45:19.470 [info] {"args":{"id":1301347},"id":419766,"meta":{},"system_time":1782733519470513715,"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"]} 06:45:19.470 [debug] QUERY OK source="media_items" db=0.1ms idle=529.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" = ?) [1301347] 06:45:19.471 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:45:19.471 [debug] QUERY OK source="sources" db=0.1ms idle=529.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:45:19.471 [debug] QUERY OK source="media_profiles" db=0.1ms idle=530.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:19.472 [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 [1301347] 06:45:19.473 [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" = ?) [1301347] 06:45:19.473 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:19.473 [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 [] 06:45:19.474 [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 [] 06:45:19.474 [debug] Running yt-dlp command for action: get_downloadable_status 06:45:19.475 [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 [] 06:45:19.475 [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 [] 06:45:19.475 [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 [] 06:45:19.475 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d6/81/d681d33763238161847df1fa5b67e06a3ec4ead65209fe492d711018426b2bd1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:45:19.492 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/37/99/3799b2f81cee4a012fbefa4980628e3d420ae78814624cc8e40af3b0430fee8f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:45:19.492 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:19.492 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:19.493 [info] {"args":{"id":1301335},"id":419765,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1801676,"event":"job:stop","queue_time":689893,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:45:19.499 [info] {"args":{"id":1301392},"id":419767,"meta":{},"system_time":1782733519499477344,"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"]} 06:45:19.499 [debug] QUERY OK source="media_items" db=0.1ms idle=24.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" = ?) [1301392] 06:45:19.500 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:45:19.500 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:45:19.500 [debug] QUERY OK source="media_profiles" db=0.1ms idle=25.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:19.501 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301392] 06:45:19.501 [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" = ?) [1301392] 06:45:19.502 [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] 06:45:19.502 [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 [] 06:45:19.502 [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 [] 06:45:19.502 [debug] Running yt-dlp command for action: get_downloadable_status 06:45:19.503 [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 [] 06:45:19.503 [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 [] 06:45:19.503 [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 [] 06:45:19.503 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a2/da/a2da2e8dd73f7641e0d241e0e495cdb02ec3e656ecc97e3cd6a165aeed4ea74d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:45:21.119 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d6/81/d681d33763238161847df1fa5b67e06a3ec4ead65209fe492d711018426b2bd1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:45:21.120 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:21.120 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:21.120 [info] {"args":{"id":1301347},"id":419766,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1649787,"event":"job:stop","queue_time":2469897,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:45:21.126 [info] {"args":{"id":1301393},"id":419768,"meta":{},"system_time":1782733521126925019,"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"]} 06:45:21.127 [debug] QUERY OK source="media_items" db=0.1ms idle=186.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301393] 06:45:21.127 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:45:21.127 [debug] QUERY OK source="sources" db=0.1ms idle=186.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:45:21.128 [debug] QUERY OK source="media_profiles" db=0.1ms idle=186.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:21.128 [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 [1301393] 06:45:21.129 [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" = ?) [1301393] 06:45:21.129 [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] 06:45:21.129 [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 [] 06:45:21.129 [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 [] 06:45:21.130 [debug] Running yt-dlp command for action: get_downloadable_status 06:45:21.130 [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 [] 06:45:21.130 [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 [] 06:45:21.130 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:21.130 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/df/f8/dff839a8bce38861146a9fe3133d7f113578e6b9834d07fa5bb7b867d66a53cf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:45:21.452 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a2/da/a2da2e8dd73f7641e0d241e0e495cdb02ec3e656ecc97e3cd6a165aeed4ea74d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:45:21.452 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:21.452 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:21.452 [info] {"args":{"id":1301392},"id":419767,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1953066,"event":"job:stop","queue_time":2498892,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:45:21.459 [info] {"args":{"id":1301394},"id":419769,"meta":{},"system_time":1782733521459876992,"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"]} 06:45:21.460 [debug] QUERY OK source="media_items" db=0.2ms idle=329.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301394] 06:45:21.460 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:45:21.460 [debug] QUERY OK source="sources" db=0.2ms idle=330.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:45:21.461 [debug] QUERY OK source="media_profiles" db=0.1ms idle=330.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:21.461 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301394] 06:45:21.462 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301394] 06:45:21.462 [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] 06:45:21.462 [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 [] 06:45:21.463 [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 [] 06:45:21.463 [debug] Running yt-dlp command for action: get_downloadable_status 06:45:21.464 [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 [] 06:45:21.464 [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 [] 06:45:21.464 [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 [] 06:45:21.464 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a0/38/a0380f22628d8309ecc55bc7df8f26f710a86de0b69f55c798e181927b2ebd91.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:45:22.324 [info] {"source":"oban","duration":7566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:22.964 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/df/f8/dff839a8bce38861146a9fe3133d7f113578e6b9834d07fa5bb7b867d66a53cf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:45:22.964 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:22.964 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:22.965 [info] {"args":{"id":1301393},"id":419768,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1837991,"event":"job:stop","queue_time":4125976,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:45:22.971 [info] {"args":{"id":1301395},"id":419770,"meta":{},"system_time":1782733522971565581,"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"]} 06:45:22.972 [debug] QUERY OK source="media_items" db=0.1ms idle=30.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301395] 06:45:22.972 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:45:22.972 [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" = ?) [52] 06:45:22.972 [debug] QUERY OK source="media_profiles" db=0.1ms idle=31.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:22.973 [debug] QUERY OK source="media_items" db=0.5ms 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 [1301395] 06:45:22.974 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301395] 06:45:22.975 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:22.975 [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 [] 06:45:22.975 [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 [] 06:45:22.975 [debug] Running yt-dlp command for action: get_downloadable_status 06:45:22.976 [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 [] 06:45:22.976 [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 [] 06:45:22.976 [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 [] 06:45:22.977 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d4/88/d488c009e5f0ecdb8745b3a1e7a35707f9a200852f05ab592cddc7cbc679b01a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:45:23.112 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a0/38/a0380f22628d8309ecc55bc7df8f26f710a86de0b69f55c798e181927b2ebd91.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:45:23.112 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:23.113 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:23.113 [info] {"args":{"id":1301394},"id":419769,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1653315,"event":"job:stop","queue_time":4458925,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:45:23.119 [info] {"args":{"id":1301397},"id":419771,"meta":{},"system_time":1782733523119360215,"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"]} 06:45:23.119 [debug] QUERY OK source="media_items" db=0.1ms idle=142.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" = ?) [1301397] 06:45:23.119 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:45:23.120 [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" = ?) [52] 06:45:23.120 [debug] QUERY OK source="media_profiles" db=0.1ms idle=143.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:23.120 [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 [1301397] 06:45:23.121 [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" = ?) [1301397] 06:45:23.121 [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] 06:45:23.122 [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 [] 06:45:23.122 [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 [] 06:45:23.122 [debug] Running yt-dlp command for action: get_downloadable_status 06:45:23.123 [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 [] 06:45:23.123 [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 [] 06:45:23.123 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:45:23.123 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/61/25/6125f43bea6977cc4f22f71306c9cb4c7a496b1cb941f27469c61cdaf98ffcc5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:45:24.664 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d4/88/d488c009e5f0ecdb8745b3a1e7a35707f9a200852f05ab592cddc7cbc679b01a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:45:24.664 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:24.664 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:24.665 [info] {"args":{"id":1301395},"id":419770,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1693417,"event":"job:stop","queue_time":5970948,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:45:24.671 [info] {"args":{"id":1301398},"id":419772,"meta":{},"system_time":1782733524671496842,"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"]} 06:45:24.671 [debug] QUERY OK source="media_items" db=0.2ms idle=1548.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" = ?) [1301398] 06:45:24.672 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:45:24.672 [debug] QUERY OK source="sources" db=0.2ms idle=1042.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:45:24.672 [debug] QUERY OK source="media_profiles" db=0.1ms idle=41.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:24.673 [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 [1301398] 06:45:24.674 [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" = ?) [1301398] 06:45:24.674 [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] 06:45:24.674 [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 [] 06:45:24.674 [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 [] 06:45:24.674 [debug] Running yt-dlp command for action: get_downloadable_status 06:45:24.675 [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 [] 06:45:24.675 [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 [] 06:45:24.675 [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 [] 06:45:24.676 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/92/0c92680ceabdb147c80a7cc4ff7e2b6357bd72ea2ee21acd34163733b2e971d6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:45:24.978 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/61/25/6125f43bea6977cc4f22f71306c9cb4c7a496b1cb941f27469c61cdaf98ffcc5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:45:24.978 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:24.978 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:24.978 [info] {"args":{"id":1301397},"id":419771,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1859116,"event":"job:stop","queue_time":6118890,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:45:24.985 [info] {"args":{"id":1301399},"id":419773,"meta":{},"system_time":1782733524985484061,"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"]} 06:45:24.985 [debug] QUERY OK source="media_items" db=0.1ms idle=309.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" = ?) [1301399] 06:45:24.985 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:45:24.986 [debug] QUERY OK source="sources" db=0.2ms idle=310.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:45:24.986 [debug] QUERY OK source="media_profiles" db=0.1ms idle=310.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:24.986 [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 [1301399] 06:45:24.988 [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" = ?) [1301399] 06:45:24.988 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 06:45:24.988 [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 [] 06:45:24.988 [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 [] 06:45:24.988 [debug] Running yt-dlp command for action: get_downloadable_status 06:45:24.989 [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 [] 06:45:24.990 [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 [] 06:45:24.990 [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 [] 06:45:24.990 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c3/4b/c34b39743c8f6a5752227c0758923ba4afd3a5f6b2dbe3be66d3bf67d7a5adeb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:45:26.586 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/92/0c92680ceabdb147c80a7cc4ff7e2b6357bd72ea2ee21acd34163733b2e971d6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:45:26.586 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:26.586 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:26.586 [info] {"args":{"id":1301398},"id":419772,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1914856,"event":"job:stop","queue_time":7670906,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:45:26.593 [info] {"args":{"id":1301400},"id":419774,"meta":{},"system_time":1782733526593696820,"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"]} 06:45:26.594 [debug] QUERY OK source="media_items" db=0.2ms idle=1603.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" = ?) [1301400] 06:45:26.594 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:45:26.594 [debug] QUERY OK source="sources" db=0.2ms idle=1604.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:45:26.594 [debug] QUERY OK source="media_profiles" db=0.1ms idle=961.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:26.595 [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 [1301400] 06:45:26.596 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301400] 06:45:26.596 [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] 06:45:26.597 [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 [] 06:45:26.597 [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 [] 06:45:26.597 [debug] Running yt-dlp command for action: get_downloadable_status 06:45:26.598 [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 [] 06:45:26.598 [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 [] 06:45:26.598 [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 [] 06:45:26.598 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c6/72/c672576f508cdcc70253e36998c15269bd40bfd272f49ea24ea968f27b738e1a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:45:26.741 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c3/4b/c34b39743c8f6a5752227c0758923ba4afd3a5f6b2dbe3be66d3bf67d7a5adeb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:45:26.741 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:26.741 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:26.742 [info] {"args":{"id":1301399},"id":419773,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1756344,"event":"job:stop","queue_time":7984940,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:45:26.748 [info] {"args":{"id":2720968},"id":419775,"meta":{},"system_time":1782733526748599677,"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"]} 06:45:26.749 [debug] QUERY OK source="media_items" db=0.1ms idle=150.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" = ?) [2720968] 06:45:26.749 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:45:26.749 [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" = ?) [52] 06:45:26.749 [debug] QUERY OK source="media_profiles" db=0.1ms idle=115.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:45:26.750 [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 [2720968] 06:45:26.751 [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" = ?) [2720968] 06:45:26.751 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 06:45:26.751 [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 [] 06:45:26.751 [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 [] 06:45:26.752 [debug] Running yt-dlp command for action: get_downloadable_status 06:45:26.752 [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 [] 06:45:26.753 [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 [] 06:45:26.753 [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 [] 06:45:26.753 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9f/0c/9f0c95ef3464229e97db17c46749bc9b6ea3eaf3ab555756e6494012ea37c5bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:45:28.488 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9f/0c/9f0c95ef3464229e97db17c46749bc9b6ea3eaf3ab555756e6494012ea37c5bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:45:28.489 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:28.489 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:28.489 [info] {"args":{"id":2720968},"id":419775,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1740648,"event":"job:stop","queue_time":9747950,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:45:28.491 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c6/72/c672576f508cdcc70253e36998c15269bd40bfd272f49ea24ea968f27b738e1a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:45:28.491 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:28.491 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:45:28.491 [info] {"args":{"id":1301400},"id":419774,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1897980,"event":"job:stop","queue_time":9592895,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:45:52.333 [info] {"source":"oban","duration":7750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:00.008 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:46:22.343 [info] {"source":"oban","duration":9013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:46:52.351 [info] {"source":"oban","duration":7542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.009 [info] {"source":"oban","duration":131,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:47:22.360 [info] {"source":"oban","duration":8075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:47:30.811 [info] {"args":{"id":37},"id":419686,"meta":{},"system_time":1782733650811518208,"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"]} 06:47:30.811 [debug] QUERY OK source="sources" db=0.1ms idle=870.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:30.812 [debug] QUERY OK source="settings" db=0.1ms idle=870.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:47:30.814 [debug] QUERY OK source="media_items" db=2.4ms idle=870.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")))) [37] 06:47:30.815 [debug] QUERY OK source="media_items" db=0.6ms idle=9.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [37] 06:47:30.815 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 06:47:30.816 [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 [] 06:47:30.816 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:47:30.819 [debug] QUERY OK source="media_items" db=2.2ms 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 [37] 06:47:30.820 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 06:47:30.820 [debug] Current batch of media processed. Will check again in 1000ms 06:47:30.820 [debug] QUERY OK source="settings" db=0.0ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:47:30.821 [debug] QUERY OK source="settings" db=0.0ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:47:30.821 [debug] QUERY OK source="settings" db=0.0ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:47:30.821 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCUyeluBRhGPCW4rPe_UvBZQ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/fd/31/fd31cb67ec94a06dbeb37ea2dfe1b039f750fec2b7b153c9cbd2e96b5a9a4b93.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/9f/39/9f3965c9c11dec282b66bb8cf94346a2a6d25fdb8f5d01e2d77a951f351be59e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:47:31.822 [debug] Current batch of media processed. Will check again in 1000ms 06:47:32.823 [debug] Current batch of media processed. Will check again in 1000ms 06:47:33.824 [debug] Current batch of media processed. Will check again in 1000ms 06:47:34.825 [debug] Current batch of media processed. Will check again in 1000ms 06:47:35.827 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Having trouble finding the right developer for your team? Get a 7-day free trial + $1,500 off with The Prime’s discount: https://trm.sh/g2i\n\nSources:\n\n- https://x.com/mitchellh/status/2067970516951150721\n\nTopics Covered:\n\n- Poisoning Agents\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 756, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062500_They're Poisoning the Agents!.mp4", "id" => "bh6S4N8TnYQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bh6S4N8TnYQ", "playlist_index" => 1, "timestamp" => 1782392428, "title" => "They're Poisoning the Agents!", "upload_date" => "20260625"} 06:47:35.827 [debug] QUERY OK source="sources" db=0.4ms idle=1886.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:47:35.828 [debug] QUERY OK source="sources" db=0.1ms idle=1887.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:35.830 [debug] QUERY OK source="media_items" db=2.3ms idle=1887.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-25 13:00:28Z], 37] 06:47:35.831 [debug] QUERY OK source="media_items" db=0.6ms idle=1019.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Having trouble finding the right developer for your team? Get a 7-day free trial + $1,500 off with The Prime’s discount: https://trm.sh/g2i\n\nSources:\n\n- https://x.com/mitchellh/status/2067970516951150721\n\nTopics Covered:\n\n- Poisoning Agents\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "They're Poisoning the Agents!", "fdc8ecb2-334b-48c7-bd9b-b75e89342352", "bh6S4N8TnYQ", 756, false, "https://www.youtube.com/watch?v=bh6S4N8TnYQ", 1, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062500_They're Poisoning the Agents!.mp4", false, false, false, 37, [], 98, ~U[2026-06-25 13:00:28Z], ~U[2026-06-29 11:47:35Z], ~U[2026-06-29 11:47:35Z], "Having trouble finding the right developer for your team? Get a 7-day free trial + $1,500 off with The Prime’s discount: https://trm.sh/g2i\n\nSources:\n\n- https://x.com/mitchellh/status/2067970516951150721\n\nTopics Covered:\n\n- Poisoning Agents\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "They're Poisoning the Agents!", "bh6S4N8TnYQ", 756, false, "https://www.youtube.com/watch?v=bh6S4N8TnYQ", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062500_They're Poisoning the Agents!.mp4", false, 37, ~U[2026-06-25 13:00:28Z]] 06:47:35.832 [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" = ?) [37] 06:47:35.832 [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] 06:47:35.832 [debug] QUERY OK source="media_items" db=0.1ms 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 [3278226] 06:47:35.832 [debug] Current batch of media processed. Will check again in 1000ms 06:47:36.833 [debug] Current batch of media processed. Will check again in 1000ms 06:47:37.834 [debug] Current batch of media processed. Will check again in 1000ms 06:47:38.835 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/midjourney/status/2067422898407837797?s=20\n\nTopics Covered:\n\n- Midjourney\n- MRIs\n- Data and Data Limits\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 812, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062300_The Craziest AI Pivot yet.mp4", "id" => "nGqGrrYeYGc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nGqGrrYeYGc", "playlist_index" => 2, "timestamp" => 1782225729, "title" => "The Craziest AI Pivot yet", "upload_date" => "20260623"} 06:47:38.835 [debug] QUERY OK source="sources" db=0.3ms idle=1894.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:47:38.836 [debug] QUERY OK source="sources" db=0.1ms idle=1895.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:38.838 [debug] QUERY OK source="media_items" db=2.4ms idle=1895.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-23 14:42:09Z], 37] 06:47:38.839 [debug] QUERY OK source="media_items" db=0.8ms idle=1021.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/midjourney/status/2067422898407837797?s=20\n\nTopics Covered:\n\n- Midjourney\n- MRIs\n- Data and Data Limits\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest AI Pivot yet", "8f533e72-9302-431d-a27c-96b700c0f71a", "nGqGrrYeYGc", 812, false, "https://www.youtube.com/watch?v=nGqGrrYeYGc", 2, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062300_The Craziest AI Pivot yet.mp4", false, false, false, 37, [], 98, ~U[2026-06-23 14:42:09Z], ~U[2026-06-29 11:47:38Z], ~U[2026-06-29 11:47:38Z], "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/midjourney/status/2067422898407837797?s=20\n\nTopics Covered:\n\n- Midjourney\n- MRIs\n- Data and Data Limits\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest AI Pivot yet", "nGqGrrYeYGc", 812, false, "https://www.youtube.com/watch?v=nGqGrrYeYGc", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062300_The Craziest AI Pivot yet.mp4", false, 37, ~U[2026-06-23 14:42:09Z]] 06:47:38.840 [debug] QUERY OK source="sources" db=0.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:38.840 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:47:38.841 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3265454] 06:47:38.841 [debug] Current batch of media processed. Will check again in 1000ms 06:47:39.842 [debug] Current batch of media processed. Will check again in 1000ms 06:47:40.842 [debug] Current batch of media processed. Will check again in 1000ms 06:47:41.844 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams\n\nhttps://trm.sh/kernel\n\nSources:\n\n- https://x.com/AnthropicAI/status/2065597531644743999\n- https://www.politico.com/news/2026/06/13/inside-the-whirlwind-24-hours-that-led-the-white-house-to-slap-export-controls-on-anthropic-00961519\n- https://x.com/hugolowell/status/2066695452016169471?s=20\n- https://x.com/simonw/status/2066722034491789720\n- https://x.com/mark_k/status/2065838368865259892\n- https://x.com/PolymarketMoney/status/2065801798137545076\n- https://x.com/0xPBIT/status/2066613611313906108\n- https://x.com/MilkRoadAI/status/2066309017211986134\n- https://www.sciencealert.com/scientists-developed-an-ai-so-advanced-they-say-it-s-too-dangerous-to-release\n- https://x.com/yunyu_l/status/2065899765645169013\n- https://x.com/yunyu_l/status/2065933211146891435\n- https://darioamodei.com/post/the-urgency-of-interpretability\n- https://x.com/Hangsiin/status/2064397550434816088\n- https://x.com/NathanMcNulty/status/2064549828957507970\n- http://x.com/kradleai/status/2064907897373642912/photo/1\n\nTopics Covered:\n\n- Claude Fable 5\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 898, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061900_Fable Deserved It.mp4", "id" => "jJbelC85zic", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jJbelC85zic", "playlist_index" => 3, "timestamp" => 1781874014, "title" => "Fable Deserved It", "upload_date" => "20260619"} 06:47:41.844 [debug] QUERY OK source="sources" db=0.2ms idle=1903.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:47:41.845 [debug] QUERY OK source="sources" db=0.1ms idle=1903.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:41.847 [debug] QUERY OK source="media_items" db=2.3ms idle=1904.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-19 13:00:14Z], 37] 06:47:41.850 [debug] QUERY OK source="media_items" db=2.7ms idle=1025.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams\n\nhttps://trm.sh/kernel\n\nSources:\n\n- https://x.com/AnthropicAI/status/2065597531644743999\n- https://www.politico.com/news/2026/06/13/inside-the-whirlwind-24-hours-that-led-the-white-house-to-slap-export-controls-on-anthropic-00961519\n- https://x.com/hugolowell/status/2066695452016169471?s=20\n- https://x.com/simonw/status/2066722034491789720\n- https://x.com/mark_k/status/2065838368865259892\n- https://x.com/PolymarketMoney/status/2065801798137545076\n- https://x.com/0xPBIT/status/2066613611313906108\n- https://x.com/MilkRoadAI/status/2066309017211986134\n- https://www.sciencealert.com/scientists-developed-an-ai-so-advanced-they-say-it-s-too-dangerous-to-release\n- https://x.com/yunyu_l/status/2065899765645169013\n- https://x.com/yunyu_l/status/2065933211146891435\n- https://darioamodei.com/post/the-urgency-of-interpretability\n- https://x.com/Hangsiin/status/2064397550434816088\n- https://x.com/NathanMcNulty/status/2064549828957507970\n- http://x.com/kradleai/status/2064907897373642912/photo/1\n\nTopics Covered:\n\n- Claude Fable 5\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Fable Deserved It", "76a53131-ab6e-4fe7-b550-b62c8e9f0bdc", "jJbelC85zic", 898, false, "https://www.youtube.com/watch?v=jJbelC85zic", 3, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061900_Fable Deserved It.mp4", false, false, false, 37, [], 98, ~U[2026-06-19 13:00:14Z], ~U[2026-06-29 11:47:41Z], ~U[2026-06-29 11:47:41Z], "KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams\n\nhttps://trm.sh/kernel\n\nSources:\n\n- https://x.com/AnthropicAI/status/2065597531644743999\n- https://www.politico.com/news/2026/06/13/inside-the-whirlwind-24-hours-that-led-the-white-house-to-slap-export-controls-on-anthropic-00961519\n- https://x.com/hugolowell/status/2066695452016169471?s=20\n- https://x.com/simonw/status/2066722034491789720\n- https://x.com/mark_k/status/2065838368865259892\n- https://x.com/PolymarketMoney/status/2065801798137545076\n- https://x.com/0xPBIT/status/2066613611313906108\n- https://x.com/MilkRoadAI/status/2066309017211986134\n- https://www.sciencealert.com/scientists-developed-an-ai-so-advanced-they-say-it-s-too-dangerous-to-release\n- https://x.com/yunyu_l/status/2065899765645169013\n- https://x.com/yunyu_l/status/2065933211146891435\n- https://darioamodei.com/post/the-urgency-of-interpretability\n- https://x.com/Hangsiin/status/2064397550434816088\n- https://x.com/NathanMcNulty/status/2064549828957507970\n- http://x.com/kradleai/status/2064907897373642912/photo/1\n\nTopics Covered:\n\n- Claude Fable 5\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Fable Deserved It", "jJbelC85zic", 898, false, "https://www.youtube.com/watch?v=jJbelC85zic", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061900_Fable Deserved It.mp4", false, 37, ~U[2026-06-19 13:00:14Z]] 06:47:41.851 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:41.851 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:47:41.851 [debug] QUERY OK source="media_items" db=0.2ms idle=6.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 [3231829] 06:47:41.851 [debug] Current batch of media processed. Will check again in 1000ms 06:47:42.853 [debug] Current batch of media processed. Will check again in 1000ms 06:47:43.854 [debug] Current batch of media processed. Will check again in 1000ms 06:47:44.855 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "ssh terminal.shop\nYes, seriously, this is my company, and we selected and found some of the worlds best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\n## Sources\n\n- https://techcrunch.com/2026/06/12/metas-months-old-ai-unit-is-a-soul-crushing-gulag-say-the-engineers-stuck-inside-it/\n\n## Topics Covered\n\n- Meta and Facebook AI unit\n- Programming Careers\n- The future of AI work\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 841, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061800_What is happening at Meta?.mp4", "id" => "OOCepY3H8k4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OOCepY3H8k4", "playlist_index" => 4, "timestamp" => 1781785817, "title" => "What is happening at Meta?", "upload_date" => "20260618"} 06:47:44.856 [debug] QUERY OK source="sources" db=0.2ms idle=1914.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:47:44.856 [debug] QUERY OK source="sources" db=0.1ms idle=1915.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:44.858 [debug] QUERY OK source="media_items" db=2.4ms idle=1915.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-18 12:30:17Z], 37] 06:47:44.860 [debug] QUERY OK source="media_items" db=0.9ms idle=1031.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["ssh terminal.shop\nYes, seriously, this is my company, and we selected and found some of the worlds best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\n## Sources\n\n- https://techcrunch.com/2026/06/12/metas-months-old-ai-unit-is-a-soul-crushing-gulag-say-the-engineers-stuck-inside-it/\n\n## Topics Covered\n\n- Meta and Facebook AI unit\n- Programming Careers\n- The future of AI work\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "What is happening at Meta?", "441ddaee-fe44-4e18-93cf-286eb5ee79be", "OOCepY3H8k4", 841, false, "https://www.youtube.com/watch?v=OOCepY3H8k4", 4, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061800_What is happening at Meta?.mp4", false, false, false, 37, [], 98, ~U[2026-06-18 12:30:17Z], ~U[2026-06-29 11:47:44Z], ~U[2026-06-29 11:47:44Z], "ssh terminal.shop\nYes, seriously, this is my company, and we selected and found some of the worlds best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\n## Sources\n\n- https://techcrunch.com/2026/06/12/metas-months-old-ai-unit-is-a-soul-crushing-gulag-say-the-engineers-stuck-inside-it/\n\n## Topics Covered\n\n- Meta and Facebook AI unit\n- Programming Careers\n- The future of AI work\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "What is happening at Meta?", "OOCepY3H8k4", 841, false, "https://www.youtube.com/watch?v=OOCepY3H8k4", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061800_What is happening at Meta?.mp4", false, 37, ~U[2026-06-18 12:30:17Z]] 06:47:44.860 [debug] QUERY OK source="sources" db=0.1ms idle=30.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:44.860 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 06:47:44.861 [debug] QUERY OK source="media_items" db=0.1ms 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 [3222955] 06:47:44.861 [debug] Current batch of media processed. Will check again in 1000ms 06:47:45.862 [debug] Current batch of media processed. Will check again in 1000ms 06:47:46.863 [debug] Current batch of media processed. Will check again in 1000ms 06:47:47.864 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\nSources:\n\n- https://www.ioccc.org\n\nTopics Covered:\n\n- The International Obfuscated C Code Contest\n\nhttps://twitch.tv/ThePrimeagen - I stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 1962, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061600_The Craziest Coding Contest Ever.mp4", "id" => "-BhcQURVjJg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-BhcQURVjJg", "playlist_index" => 5, "timestamp" => 1781613029, "title" => "The Craziest Coding Contest Ever", "upload_date" => "20260616"} 06:47:47.864 [debug] QUERY OK source="sources" db=0.2ms idle=1923.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:47:47.864 [debug] QUERY OK source="sources" db=0.1ms idle=1923.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:47.867 [debug] QUERY OK source="media_items" db=2.4ms idle=1923.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 12:30:29Z], 37] 06:47:47.868 [debug] QUERY OK source="media_items" db=0.7ms idle=1033.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\nSources:\n\n- https://www.ioccc.org\n\nTopics Covered:\n\n- The International Obfuscated C Code Contest\n\nhttps://twitch.tv/ThePrimeagen - I stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest Coding Contest Ever", "16d22054-697e-4a8b-a79f-04e8f6bb2c88", "-BhcQURVjJg", 1962, false, "https://www.youtube.com/watch?v=-BhcQURVjJg", 5, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061600_The Craziest Coding Contest Ever.mp4", false, false, false, 37, [], 98, ~U[2026-06-16 12:30:29Z], ~U[2026-06-29 11:47:47Z], ~U[2026-06-29 11:47:47Z], "PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\nSources:\n\n- https://www.ioccc.org\n\nTopics Covered:\n\n- The International Obfuscated C Code Contest\n\nhttps://twitch.tv/ThePrimeagen - I stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest Coding Contest Ever", "-BhcQURVjJg", 1962, false, "https://www.youtube.com/watch?v=-BhcQURVjJg", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061600_The Craziest Coding Contest Ever.mp4", false, 37, ~U[2026-06-16 12:30:29Z]] 06:47:47.868 [debug] QUERY OK source="sources" db=0.1ms idle=33.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:47.869 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 06:47:47.869 [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 [3209643] 06:47:47.869 [debug] Current batch of media processed. Will check again in 1000ms 06:47:48.870 [debug] Current batch of media processed. Will check again in 1000ms 06:47:49.871 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Linear helps teams track issues, manage projects, collaborate on docs, and ship products - and the crazy thing is their software is actually fast and a joy to use. Learn more: https://trm.sh/linear\n\nSources:\n- Youtube: https: //www.youtube.com/watch?v=RkQQ7WEor7w\n- Graph: https://x.com/AnthropicAI/status/2062568864240836995/photo/1 \n- Wiki / Timeline of Claude: https://en.wikipedia.org/wiki/Claude_(language_model)\n- Github Issue #1: https://github.com/anthropics/claude-code/issues/392\n- Github Issue #2: https://github.com/anthropics/claude-code/issues/769 \n- Github Issue #3: https://github.com/anthropics/claude-code/issues/1913 \n- Flickering 85% solved: https://x.com/trq212/status/2001439019713073626\n- Rolled back: https://x.com/trq212/status/2001848726395269619\n- 3000 Unused Features: https://x.com/CurtTigges/status/2037038538718667103\n- Flickering Solved Feature Flag: https://x.com/bcherny/status/2039421575422980329\n- \"Fewer Error Messages\": https://x.com/ClaudeDevs/status/2059701681349353901\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 811, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061200_I Think They Are Lying To You.mp4", "id" => "zfYsSFY4l18", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zfYsSFY4l18", "playlist_index" => 6, "timestamp" => 1781269208, "title" => "I Think They Are Lying To You", "upload_date" => "20260612"} 06:47:49.871 [debug] QUERY OK source="sources" db=0.2ms idle=930.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:47:49.872 [debug] QUERY OK source="sources" db=0.1ms idle=930.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:49.874 [debug] QUERY OK source="media_items" db=2.3ms idle=931.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-12 13:00:08Z], 37] 06:47:49.875 [debug] QUERY OK source="media_items" db=0.9ms idle=933.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Linear helps teams track issues, manage projects, collaborate on docs, and ship products - and the crazy thing is their software is actually fast and a joy to use. Learn more: https://trm.sh/linear\n\nSources:\n- Youtube: https: //www.youtube.com/watch?v=RkQQ7WEor7w\n- Graph: https://x.com/AnthropicAI/status/2062568864240836995/photo/1 \n- Wiki / Timeline of Claude: https://en.wikipedia.org/wiki/Claude_(language_model)\n- Github Issue #1: https://github.com/anthropics/claude-code/issues/392\n- Github Issue #2: https://github.com/anthropics/claude-code/issues/769 \n- Github Issue #3: https://github.com/anthropics/claude-code/issues/1913 \n- Flickering 85% solved: https://x.com/trq212/status/2001439019713073626\n- Rolled back: https://x.com/trq212/status/2001848726395269619\n- 3000 Unused Features: https://x.com/CurtTigges/status/2037038538718667103\n- Flickering Solved Feature Flag: https://x.com/bcherny/status/2039421575422980329\n- \"Fewer Error Messages\": https://x.com/ClaudeDevs/status/2059701681349353901\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "I Think They Are Lying To You", "662b7c1b-201d-4a45-b057-ebee5d122f29", "zfYsSFY4l18", 811, false, "https://www.youtube.com/watch?v=zfYsSFY4l18", 6, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061200_I Think They Are Lying To You.mp4", false, false, false, 37, [], 98, ~U[2026-06-12 13:00:08Z], ~U[2026-06-29 11:47:49Z], ~U[2026-06-29 11:47:49Z], "Linear helps teams track issues, manage projects, collaborate on docs, and ship products - and the crazy thing is their software is actually fast and a joy to use. Learn more: https://trm.sh/linear\n\nSources:\n- Youtube: https: //www.youtube.com/watch?v=RkQQ7WEor7w\n- Graph: https://x.com/AnthropicAI/status/2062568864240836995/photo/1 \n- Wiki / Timeline of Claude: https://en.wikipedia.org/wiki/Claude_(language_model)\n- Github Issue #1: https://github.com/anthropics/claude-code/issues/392\n- Github Issue #2: https://github.com/anthropics/claude-code/issues/769 \n- Github Issue #3: https://github.com/anthropics/claude-code/issues/1913 \n- Flickering 85% solved: https://x.com/trq212/status/2001439019713073626\n- Rolled back: https://x.com/trq212/status/2001848726395269619\n- 3000 Unused Features: https://x.com/CurtTigges/status/2037038538718667103\n- Flickering Solved Feature Flag: https://x.com/bcherny/status/2039421575422980329\n- \"Fewer Error Messages\": https://x.com/ClaudeDevs/status/2059701681349353901\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "I Think They Are Lying To You", "zfYsSFY4l18", 811, false, "https://www.youtube.com/watch?v=zfYsSFY4l18", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061200_I Think They Are Lying To You.mp4", false, 37, ~U[2026-06-12 13:00:08Z]] 06:47:49.876 [debug] QUERY OK source="sources" db=0.1ms idle=37.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:49.876 [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] 06:47:49.876 [debug] QUERY OK source="media_items" db=0.1ms 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 [3175943] 06:47:49.876 [debug] Current batch of media processed. Will check again in 1000ms 06:47:50.877 [debug] Current batch of media processed. Will check again in 1000ms 06:47:51.877 [debug] Current batch of media processed. Will check again in 1000ms 06:47:52.369 [info] {"source":"oban","duration":8722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:47:52.879 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nChapters\n00:00:00 - Intro\n00:00:08 - I was right about Token Cost\n00:02:35 - Prediction 0: AI Labs will trade tokens for equity\n00:02:51 - Prediction 1: Opensource Token Donations\n00:04:06 - Cursor\n00:04:46 - Prediction 2: Token Budgets/Stipends\n00:06:35 - Prediction 3: Token Poker\n00:09:07 - Prediction 4: Org & Team Wide Token Budgets\n00:11:31 - Prediction 5: Rewarding LoC with more token budget\n\nSources:\n- https://geohot.github.io//blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n- https://x.com/BusinessInsider/status/2062211094450434219\n- https://www.wheresyoured.at/ai-is-too-expensive/#organizations-cannot-afford-to-keep-blowing-through-their-ai-budgets-millions-of-dollars-at-a-time-without-roi\n- https://www.lennysnewsletter.com/p/head-of-claude-code-what-happens\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "duration" => 824, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061000_Unfortunately, I Was Right.mp4", "id" => "m-bT5v5Tm7w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m-bT5v5Tm7w", "playlist_index" => 7, "timestamp" => 1781110466, "title" => "Unfortunately, I Was Right", "upload_date" => "20260610"} 06:47:52.879 [debug] QUERY OK source="sources" db=0.2ms idle=1938.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:47:52.880 [debug] QUERY OK source="sources" db=0.1ms idle=1938.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:52.882 [debug] QUERY OK source="media_items" db=2.4ms idle=1038.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-10 16:54:26Z], 37] 06:47:52.884 [debug] QUERY OK source="media_items" db=1.1ms idle=512.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nChapters\n00:00:00 - Intro\n00:00:08 - I was right about Token Cost\n00:02:35 - Prediction 0: AI Labs will trade tokens for equity\n00:02:51 - Prediction 1: Opensource Token Donations\n00:04:06 - Cursor\n00:04:46 - Prediction 2: Token Budgets/Stipends\n00:06:35 - Prediction 3: Token Poker\n00:09:07 - Prediction 4: Org & Team Wide Token Budgets\n00:11:31 - Prediction 5: Rewarding LoC with more token budget\n\nSources:\n- https://geohot.github.io//blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n- https://x.com/BusinessInsider/status/2062211094450434219\n- https://www.wheresyoured.at/ai-is-too-expensive/#organizations-cannot-afford-to-keep-blowing-through-their-ai-budgets-millions-of-dollars-at-a-time-without-roi\n- https://www.lennysnewsletter.com/p/head-of-claude-code-what-happens\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Unfortunately, I Was Right", "039d6934-fef2-4d3f-b857-fd1e23308e2e", "m-bT5v5Tm7w", 824, false, "https://www.youtube.com/watch?v=m-bT5v5Tm7w", 7, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061000_Unfortunately, I Was Right.mp4", false, false, false, 37, [], 98, ~U[2026-06-10 16:54:26Z], ~U[2026-06-29 11:47:52Z], ~U[2026-06-29 11:47:52Z], "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nChapters\n00:00:00 - Intro\n00:00:08 - I was right about Token Cost\n00:02:35 - Prediction 0: AI Labs will trade tokens for equity\n00:02:51 - Prediction 1: Opensource Token Donations\n00:04:06 - Cursor\n00:04:46 - Prediction 2: Token Budgets/Stipends\n00:06:35 - Prediction 3: Token Poker\n00:09:07 - Prediction 4: Org & Team Wide Token Budgets\n00:11:31 - Prediction 5: Rewarding LoC with more token budget\n\nSources:\n- https://geohot.github.io//blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n- https://x.com/BusinessInsider/status/2062211094450434219\n- https://www.wheresyoured.at/ai-is-too-expensive/#organizations-cannot-afford-to-keep-blowing-through-their-ai-budgets-millions-of-dollars-at-a-time-without-roi\n- https://www.lennysnewsletter.com/p/head-of-claude-code-what-happens\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Unfortunately, I Was Right", "m-bT5v5Tm7w", 824, false, "https://www.youtube.com/watch?v=m-bT5v5Tm7w", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061000_Unfortunately, I Was Right.mp4", false, 37, ~U[2026-06-10 16:54:26Z]] 06:47:52.884 [debug] QUERY OK source="sources" db=0.1ms idle=41.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:52.884 [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] 06:47:52.885 [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 [3163442] 06:47:52.885 [debug] Current batch of media processed. Will check again in 1000ms 06:47:53.886 [debug] Current batch of media processed. Will check again in 1000ms 06:47:54.887 [debug] Current batch of media processed. Will check again in 1000ms 06:47:55.888 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, and Mintlify → https://trm.sh/blacksmith\n\nResources:\n* https://github.com/golang/go/issues/77273\n\nTopics:\n* Go\n* Language Evolution\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "duration" => 702, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060800_I am done with Golang.mp4", "id" => "WqSWZuGS9pc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WqSWZuGS9pc", "playlist_index" => 8, "timestamp" => 1780921813, "title" => "I am done with Golang", "upload_date" => "20260608"} 06:47:55.888 [debug] QUERY OK source="sources" db=0.1ms idle=1947.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:47:55.888 [debug] QUERY OK source="sources" db=0.1ms idle=1947.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:55.891 [debug] QUERY OK source="media_items" db=2.2ms idle=1947.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-08 12:30:13Z], 37] 06:47:55.892 [debug] QUERY OK source="media_items" db=0.8ms idle=1045.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, and Mintlify → https://trm.sh/blacksmith\n\nResources:\n* https://github.com/golang/go/issues/77273\n\nTopics:\n* Go\n* Language Evolution\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "I am done with Golang", "0dfd7a22-6c96-4592-9dae-5ee49155372b", "WqSWZuGS9pc", 702, false, "https://www.youtube.com/watch?v=WqSWZuGS9pc", 8, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060800_I am done with Golang.mp4", false, false, false, 37, [], 97, ~U[2026-06-08 12:30:13Z], ~U[2026-06-29 11:47:55Z], ~U[2026-06-29 11:47:55Z], "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, and Mintlify → https://trm.sh/blacksmith\n\nResources:\n* https://github.com/golang/go/issues/77273\n\nTopics:\n* Go\n* Language Evolution\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "I am done with Golang", "WqSWZuGS9pc", 702, false, "https://www.youtube.com/watch?v=WqSWZuGS9pc", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060800_I am done with Golang.mp4", false, 37, ~U[2026-06-08 12:30:13Z]] 06:47:55.893 [debug] QUERY OK source="sources" db=0.5ms idle=45.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:55.893 [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] 06:47:55.893 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3142826] 06:47:55.893 [debug] Current batch of media processed. Will check again in 1000ms 06:47:56.893 [debug] Current batch of media processed. Will check again in 1000ms 06:47:57.895 [debug] Current batch of media processed. Will check again in 1000ms 06:47:58.896 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Checkout out Code Rabbit at https://trm.sh/coderabbit\n\nFull Episode:\nYoutube: https://youtu.be/PxNr7k1v-Rk\nSpotify: https://open.spotify.com/episode/4VOHebTzXEThro58G1ArKp\n\n[Description]\nWe dive deep into technical performance debates, specifically the nuances of floating-point math—is multiplying by a reciprocal actually faster than division on modern CPUs?\n\nWe also break down the latest from Microsoft and NVIDIA, including the \"RTX Spark\" and the vision of \"unmetered intelligence.\" Plus, don't miss \"Trash Facts\" about professional bowling and the latest \"Snack Picks.\"\n\n[Chapters]\n00:00:00 - Intro\n00:03:32 - CodeRabbit\n00:05:28 - Prime Blocker\n00:27:48 - Outro\n\n[Sponsors]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "duration" => 1693, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060700_Casey Destroys Optimization Myths | TheStandup.mp4", "id" => "pslodI0Mh_0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pslodI0Mh_0", "playlist_index" => 9, "timestamp" => 1780837211, "title" => "Casey Destroys Optimization Myths | TheStandup", "upload_date" => "20260607"} 06:47:58.897 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1955.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:47:58.897 [debug] QUERY OK source="sources" db=0.1ms idle=1956.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:47:58.899 [debug] QUERY OK source="media_items" db=2.4ms idle=1956.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-07 13:00:11Z], 37] 06:47:58.901 [debug] QUERY OK source="media_items" db=0.9ms idle=1050.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Checkout out Code Rabbit at https://trm.sh/coderabbit\n\nFull Episode:\nYoutube: https://youtu.be/PxNr7k1v-Rk\nSpotify: https://open.spotify.com/episode/4VOHebTzXEThro58G1ArKp\n\n[Description]\nWe dive deep into technical performance debates, specifically the nuances of floating-point math—is multiplying by a reciprocal actually faster than division on modern CPUs?\n\nWe also break down the latest from Microsoft and NVIDIA, including the \"RTX Spark\" and the vision of \"unmetered intelligence.\" Plus, don't miss \"Trash Facts\" about professional bowling and the latest \"Snack Picks.\"\n\n[Chapters]\n00:00:00 - Intro\n00:03:32 - CodeRabbit\n00:05:28 - Prime Blocker\n00:27:48 - Outro\n\n[Sponsors]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Casey Destroys Optimization Myths | TheStandup", "bc599bc2-31db-4909-949e-bbadeec1aeb3", "pslodI0Mh_0", 1693, false, "https://www.youtube.com/watch?v=pslodI0Mh_0", 9, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060700_Casey Destroys Optimization Myths | TheStandup.mp4", false, false, false, 37, [], 97, ~U[2026-06-07 13:00:11Z], ~U[2026-06-29 11:47:58Z], ~U[2026-06-29 11:47:58Z], "Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Checkout out Code Rabbit at https://trm.sh/coderabbit\n\nFull Episode:\nYoutube: https://youtu.be/PxNr7k1v-Rk\nSpotify: https://open.spotify.com/episode/4VOHebTzXEThro58G1ArKp\n\n[Description]\nWe dive deep into technical performance debates, specifically the nuances of floating-point math—is multiplying by a reciprocal actually faster than division on modern CPUs?\n\nWe also break down the latest from Microsoft and NVIDIA, including the \"RTX Spark\" and the vision of \"unmetered intelligence.\" Plus, don't miss \"Trash Facts\" about professional bowling and the latest \"Snack Picks.\"\n\n[Chapters]\n00:00:00 - Intro\n00:03:32 - CodeRabbit\n00:05:28 - Prime Blocker\n00:27:48 - Outro\n\n[Sponsors]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Casey Destroys Optimization Myths | TheStandup", "pslodI0Mh_0", 1693, false, "https://www.youtube.com/watch?v=pslodI0Mh_0", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060700_Casey Destroys Optimization Myths | TheStandup.mp4", false, 37, ~U[2026-06-07 13:00:11Z]] 06:47:58.901 [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" = ?) [37] 06:47:58.901 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 06:47:58.902 [debug] QUERY OK source="media_items" db=0.1ms 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 [3137555] 06:47:58.902 [debug] Current batch of media processed. Will check again in 1000ms 06:47:59.903 [debug] Current batch of media processed. Will check again in 1000ms 06:48:00.010 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:48:00.904 [debug] Current batch of media processed. Will check again in 1000ms 06:48:01.905 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n- https://world.hey.com/dhh/let-the-agents-democratize-open-source-9fd630a9\n- https://ziglang.org/code-of-conduct/#strict-no-llm-no-ai-policy\n- https://github.com/mitchellh/vouch\n- https://x.com/kirancodes/status/2060389488317116649\n- https://www.youtube.com/watch?v=iqddnwKF8HQ\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 1000, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060500_It finally happened.mp4", "id" => "pkndFYSTr0Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pkndFYSTr0Y", "playlist_index" => 10, "timestamp" => 1780664405, "title" => "It finally happened", "upload_date" => "20260605"} 06:48:01.905 [debug] QUERY OK source="sources" db=0.2ms idle=1963.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:48:01.905 [debug] QUERY OK source="sources" db=0.1ms idle=1964.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:01.908 [debug] QUERY OK source="media_items" db=2.3ms idle=1895.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-05 13:00:05Z], 37] 06:48:01.910 [debug] QUERY OK source="media_items" db=1.7ms idle=1056.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n- https://world.hey.com/dhh/let-the-agents-democratize-open-source-9fd630a9\n- https://ziglang.org/code-of-conduct/#strict-no-llm-no-ai-policy\n- https://github.com/mitchellh/vouch\n- https://x.com/kirancodes/status/2060389488317116649\n- https://www.youtube.com/watch?v=iqddnwKF8HQ\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "It finally happened", "fdd76d79-977a-4ba7-85e0-490d104b7b4f", "pkndFYSTr0Y", 1000, false, "https://www.youtube.com/watch?v=pkndFYSTr0Y", 10, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060500_It finally happened.mp4", false, false, false, 37, [], 98, ~U[2026-06-05 13:00:05Z], ~U[2026-06-29 11:48:01Z], ~U[2026-06-29 11:48:01Z], "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n- https://world.hey.com/dhh/let-the-agents-democratize-open-source-9fd630a9\n- https://ziglang.org/code-of-conduct/#strict-no-llm-no-ai-policy\n- https://github.com/mitchellh/vouch\n- https://x.com/kirancodes/status/2060389488317116649\n- https://www.youtube.com/watch?v=iqddnwKF8HQ\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "It finally happened", "pkndFYSTr0Y", 1000, false, "https://www.youtube.com/watch?v=pkndFYSTr0Y", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060500_It finally happened.mp4", false, 37, ~U[2026-06-05 13:00:05Z]] 06:48:01.910 [debug] QUERY OK source="sources" db=0.1ms idle=57.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:01.911 [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] 06:48:01.911 [debug] QUERY OK source="media_items" db=0.1ms 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 [3121243] 06:48:01.911 [debug] Current batch of media processed. Will check again in 1000ms 06:48:02.912 [debug] Current batch of media processed. Will check again in 1000ms 06:48:03.913 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Big A: https://youtube.com/@AtriocClips\n\nSources:\nhttps://geohot.github.io/blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n\nTopics Covered:\n- Layoffs in 2026\n- AI affecting Jobs\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 2452, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060300_Layoffs are getting Wild (ft. Big A).mp4", "id" => "f1jlJCNgtOg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f1jlJCNgtOg", "playlist_index" => 11, "timestamp" => 1780489815, "title" => "Layoffs are getting Wild (ft. Big A)", "upload_date" => "20260603"} 06:48:03.913 [debug] QUERY OK source="sources" db=0.1ms idle=972.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:48:03.913 [debug] QUERY OK source="sources" db=0.0ms idle=972.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:03.916 [debug] QUERY OK source="media_items" db=2.3ms idle=972.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-03 12:30:15Z], 37] 06:48:03.917 [debug] QUERY OK source="media_items" db=0.8ms idle=975.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Big A: https://youtube.com/@AtriocClips\n\nSources:\nhttps://geohot.github.io/blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n\nTopics Covered:\n- Layoffs in 2026\n- AI affecting Jobs\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Layoffs are getting Wild (ft. Big A)", "3b9e1ae0-6828-4a8b-a8ed-7e16a5bd1634", "f1jlJCNgtOg", 2452, false, "https://www.youtube.com/watch?v=f1jlJCNgtOg", 11, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060300_Layoffs are getting Wild (ft. Big A).mp4", false, false, false, 37, [], 98, ~U[2026-06-03 12:30:15Z], ~U[2026-06-29 11:48:03Z], ~U[2026-06-29 11:48:03Z], "Big A: https://youtube.com/@AtriocClips\n\nSources:\nhttps://geohot.github.io/blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n\nTopics Covered:\n- Layoffs in 2026\n- AI affecting Jobs\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Layoffs are getting Wild (ft. Big A)", "f1jlJCNgtOg", 2452, false, "https://www.youtube.com/watch?v=f1jlJCNgtOg", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060300_Layoffs are getting Wild (ft. Big A).mp4", false, 37, ~U[2026-06-03 12:30:15Z]] 06:48:03.917 [debug] QUERY OK source="sources" db=0.1ms idle=61.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:03.918 [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] 06:48:03.918 [debug] QUERY OK source="media_items" db=0.1ms 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 [3105100] 06:48:03.918 [debug] Current batch of media processed. Will check again in 1000ms 06:48:04.919 [debug] Current batch of media processed. Will check again in 1000ms 06:48:05.920 [debug] Current batch of media processed. Will check again in 1000ms 06:48:06.921 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams https://trm.sh/kernel\n\nSources:\n\n- https://blog.barracuda.com/2026/05/19/nightmare-eclipse-zero-days-grudge\n- https://x.com/podalirius_/status/2059892083029069929\n- https://x.com/GabrielLandau/status/2059990548337828090\n- https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure\n- https://www.linkedin.com/pulse/microsoftthe-truth-even-worse-than-you-think-amit-yoran/\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 627, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060100_"We will ruin your life" -Microsoft.mp4", "id" => "9kxx5xp5nTQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9kxx5xp5nTQ", "playlist_index" => 12, "timestamp" => 1780318809, "title" => "\"We will ruin your life\" -Microsoft", "upload_date" => "20260601"} 06:48:06.921 [debug] QUERY OK source="sources" db=0.1ms idle=1980.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:48:06.921 [debug] QUERY OK source="sources" db=0.1ms idle=1980.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:06.925 [debug] QUERY OK source="media_items" db=3.1ms idle=1980.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-01 13:00:09Z], 37] 06:48:06.926 [debug] QUERY OK source="media_items" db=0.9ms idle=1065.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams https://trm.sh/kernel\n\nSources:\n\n- https://blog.barracuda.com/2026/05/19/nightmare-eclipse-zero-days-grudge\n- https://x.com/podalirius_/status/2059892083029069929\n- https://x.com/GabrielLandau/status/2059990548337828090\n- https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure\n- https://www.linkedin.com/pulse/microsoftthe-truth-even-worse-than-you-think-amit-yoran/\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "\"We will ruin your life\" -Microsoft", "a21e11c0-154a-44e7-8eca-e45d5d61780d", "9kxx5xp5nTQ", 627, false, "https://www.youtube.com/watch?v=9kxx5xp5nTQ", 12, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060100_"We will ruin your life" -Microsoft.mp4", false, false, false, 37, [], 95, ~U[2026-06-01 13:00:09Z], ~U[2026-06-29 11:48:06Z], ~U[2026-06-29 11:48:06Z], "KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams https://trm.sh/kernel\n\nSources:\n\n- https://blog.barracuda.com/2026/05/19/nightmare-eclipse-zero-days-grudge\n- https://x.com/podalirius_/status/2059892083029069929\n- https://x.com/GabrielLandau/status/2059990548337828090\n- https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure\n- https://www.linkedin.com/pulse/microsoftthe-truth-even-worse-than-you-think-amit-yoran/\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "\"We will ruin your life\" -Microsoft", "9kxx5xp5nTQ", 627, false, "https://www.youtube.com/watch?v=9kxx5xp5nTQ", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060100_"We will ruin your life" -Microsoft.mp4", false, 37, ~U[2026-06-01 13:00:09Z]] 06:48:06.926 [debug] QUERY OK source="sources" db=0.2ms idle=65.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:06.927 [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] 06:48:06.927 [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 [3089808] 06:48:06.927 [debug] Current batch of media processed. Will check again in 1000ms 06:48:07.928 [debug] Current batch of media processed. Will check again in 1000ms 06:48:08.929 [debug] Current batch of media processed. Will check again in 1000ms 06:48:09.930 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to this week's sponsor: Code Rabbit If you're tired of developers just replying with LGTM, then you NEED Code Rabbit. An actually useful application of AI where it can use your own rules, lints and more to provide instant feedback in your editor OR a review on Github. https://coderabbit.link/primeagen-vscode\n\nFull Episode\nSpotify: https://open.spotify.com/episode/7xcNgaZ7d0PgCNqNk9v1ge?si=BoDbRw6rRuSfhQ48wlGTkA\nYoutube: https://youtu.be/AapTIwXPztM\n\nPeep Trash’s Dotfiles: https://github.com/bautistaaa/dotfiles\n\nTrash takes us through his \"hell on earth\" first week switching from Mac to Linux. From battling Wi-Fi drivers on an ancient MacBook Air to discovering the aesthetic joy of Hyperland and custom dot files, this episode covers the highs and lows of the Linux desktop experience. We also dive into the messy definitions of AGI, the utility of efficiency cores in modern CPUs, and why everyone needs a dedicated snack officer.\n\nChapters\n00:00:00 - Intro\n00:00:22 - Choosing a Linux Distro\n00:03:41 - MergeCop\n00:05:32 - Back to Distros\n00:08:42 - Hyprland\n00:11:37 - Scuffed Demo\n00:19:47 - Compositors\n00:22:31 - Linux Pilled\n00:23:46 - Configuration for Everything\n00:25:47 - Picking a Laptop for Linux\n00:29:35 - More Distros\n00:31:06 - Packages and User land\n00:48:17 - DirectX\n00:50:15 - Distro differences and Install experiences\n00:54:57 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "duration" => 3359, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e053000_Trash VS Linux | TheStandup.mp4", "id" => "kSuMjLbjqsI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kSuMjLbjqsI", "playlist_index" => 13, "timestamp" => 1780146014, "title" => "Trash VS Linux | TheStandup", "upload_date" => "20260530"} 06:48:09.930 [debug] QUERY OK source="sources" db=0.2ms idle=1989.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:48:09.931 [debug] QUERY OK source="sources" db=0.1ms idle=1989.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:09.933 [debug] QUERY OK source="media_items" db=2.6ms idle=1990.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-30 13:00:14Z], 37] 06:48:09.935 [debug] QUERY OK source="media_items" db=1.4ms idle=1069.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to this week's sponsor: Code Rabbit If you're tired of developers just replying with LGTM, then you NEED Code Rabbit. An actually useful application of AI where it can use your own rules, lints and more to provide instant feedback in your editor OR a review on Github. https://coderabbit.link/primeagen-vscode\n\nFull Episode\nSpotify: https://open.spotify.com/episode/7xcNgaZ7d0PgCNqNk9v1ge?si=BoDbRw6rRuSfhQ48wlGTkA\nYoutube: https://youtu.be/AapTIwXPztM\n\nPeep Trash’s Dotfiles: https://github.com/bautistaaa/dotfiles\n\nTrash takes us through his \"hell on earth\" first week switching from Mac to Linux. From battling Wi-Fi drivers on an ancient MacBook Air to discovering the aesthetic joy of Hyperland and custom dot files, this episode covers the highs and lows of the Linux desktop experience. We also dive into the messy definitions of AGI, the utility of efficiency cores in modern CPUs, and why everyone needs a dedicated snack officer.\n\nChapters\n00:00:00 - Intro\n00:00:22 - Choosing a Linux Distro\n00:03:41 - MergeCop\n00:05:32 - Back to Distros\n00:08:42 - Hyprland\n00:11:37 - Scuffed Demo\n00:19:47 - Compositors\n00:22:31 - Linux Pilled\n00:23:46 - Configuration for Everything\n00:25:47 - Picking a Laptop for Linux\n00:29:35 - More Distros\n00:31:06 - Packages and User land\n00:48:17 - DirectX\n00:50:15 - Distro differences and Install experiences\n00:54:57 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Trash VS Linux | TheStandup", "8aa04096-ae00-418c-aff6-d0f9ea00c8d6", "kSuMjLbjqsI", 3359, false, "https://www.youtube.com/watch?v=kSuMjLbjqsI", 13, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e053000_Trash VS Linux | TheStandup.mp4", false, false, false, 37, [], 96, ~U[2026-05-30 13:00:14Z], ~U[2026-06-29 11:48:09Z], ~U[2026-06-29 11:48:09Z], "Thanks to this week's sponsor: Code Rabbit If you're tired of developers just replying with LGTM, then you NEED Code Rabbit. An actually useful application of AI where it can use your own rules, lints and more to provide instant feedback in your editor OR a review on Github. https://coderabbit.link/primeagen-vscode\n\nFull Episode\nSpotify: https://open.spotify.com/episode/7xcNgaZ7d0PgCNqNk9v1ge?si=BoDbRw6rRuSfhQ48wlGTkA\nYoutube: https://youtu.be/AapTIwXPztM\n\nPeep Trash’s Dotfiles: https://github.com/bautistaaa/dotfiles\n\nTrash takes us through his \"hell on earth\" first week switching from Mac to Linux. From battling Wi-Fi drivers on an ancient MacBook Air to discovering the aesthetic joy of Hyperland and custom dot files, this episode covers the highs and lows of the Linux desktop experience. We also dive into the messy definitions of AGI, the utility of efficiency cores in modern CPUs, and why everyone needs a dedicated snack officer.\n\nChapters\n00:00:00 - Intro\n00:00:22 - Choosing a Linux Distro\n00:03:41 - MergeCop\n00:05:32 - Back to Distros\n00:08:42 - Hyprland\n00:11:37 - Scuffed Demo\n00:19:47 - Compositors\n00:22:31 - Linux Pilled\n00:23:46 - Configuration for Everything\n00:25:47 - Picking a Laptop for Linux\n00:29:35 - More Distros\n00:31:06 - Packages and User land\n00:48:17 - DirectX\n00:50:15 - Distro differences and Install experiences\n00:54:57 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Trash VS Linux | TheStandup", "kSuMjLbjqsI", 3359, false, "https://www.youtube.com/watch?v=kSuMjLbjqsI", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e053000_Trash VS Linux | TheStandup.mp4", false, 37, ~U[2026-05-30 13:00:14Z]] 06:48:09.936 [debug] QUERY OK source="sources" db=0.1ms idle=70.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:09.936 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:48:09.936 [debug] QUERY OK source="media_items" db=0.1ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3074131] 06:48:09.936 [debug] Current batch of media processed. Will check again in 1000ms 06:48:10.937 [debug] Current batch of media processed. Will check again in 1000ms 06:48:11.938 [debug] Current batch of media processed. Will check again in 1000ms 06:48:12.939 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "https://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nssh [terminal.shop](http://terminal.shop/)\nTurns out if you drink coffee all day while programming, you become extremely annoying about coffee quality. So we made our own. Fresh roasted. Weirdly good. US only (for now).\n\n## Sources\n\n* https://fortune.com/2026/05/26/uber-coo-ai-spending-tokens-claude-code/\n\n## Topics Covered\n\n* Productivity in Tech\n* Agentic Engineering \n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "duration" => 810, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052900_Maybe we were wrong.mp4", "id" => "SUDrFXFV-6U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SUDrFXFV-6U", "playlist_index" => 14, "timestamp" => 1780057839, "title" => "Maybe we were wrong", "upload_date" => "20260529"} 06:48:12.939 [debug] QUERY OK source="sources" db=0.2ms idle=1998.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:48:12.940 [debug] QUERY OK source="sources" db=0.1ms idle=1998.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:12.942 [debug] QUERY OK source="media_items" db=2.3ms idle=1999.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-29 12:30:39Z], 37] 06:48:12.943 [debug] QUERY OK source="media_items" db=0.8ms idle=72.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["https://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nssh [terminal.shop](http://terminal.shop/)\nTurns out if you drink coffee all day while programming, you become extremely annoying about coffee quality. So we made our own. Fresh roasted. Weirdly good. US only (for now).\n\n## Sources\n\n* https://fortune.com/2026/05/26/uber-coo-ai-spending-tokens-claude-code/\n\n## Topics Covered\n\n* Productivity in Tech\n* Agentic Engineering \n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Maybe we were wrong", "43dfdfb8-cb04-431c-ab47-2636f730cd14", "SUDrFXFV-6U", 810, false, "https://www.youtube.com/watch?v=SUDrFXFV-6U", 14, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052900_Maybe we were wrong.mp4", false, false, false, 37, [], 97, ~U[2026-05-29 12:30:39Z], ~U[2026-06-29 11:48:12Z], ~U[2026-06-29 11:48:12Z], "https://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nssh [terminal.shop](http://terminal.shop/)\nTurns out if you drink coffee all day while programming, you become extremely annoying about coffee quality. So we made our own. Fresh roasted. Weirdly good. US only (for now).\n\n## Sources\n\n* https://fortune.com/2026/05/26/uber-coo-ai-spending-tokens-claude-code/\n\n## Topics Covered\n\n* Productivity in Tech\n* Agentic Engineering \n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Maybe we were wrong", "SUDrFXFV-6U", 810, false, "https://www.youtube.com/watch?v=SUDrFXFV-6U", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052900_Maybe we were wrong.mp4", false, 37, ~U[2026-05-29 12:30:39Z]] 06:48:12.944 [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" = ?) [37] 06:48:12.944 [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] 06:48:12.944 [debug] QUERY OK source="media_items" db=0.1ms 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 [3065866] 06:48:12.944 [debug] Current batch of media processed. Will check again in 1000ms 06:48:13.944 [debug] Current batch of media processed. Will check again in 1000ms 06:48:14.945 [debug] Current batch of media processed. Will check again in 1000ms 06:48:15.947 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Check out Code Rabbit at https://trm.sh/coderabbit\n\nSources:\n\n- https://x.com/MarioNawfal/status/2056170401831796778\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 835, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052800_Finally a Normal CEO.mp4", "id" => "-AgwE_4_slM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-AgwE_4_slM", "playlist_index" => 15, "timestamp" => 1779973223, "title" => "Finally a Normal CEO", "upload_date" => "20260528"} 06:48:15.947 [debug] QUERY OK source="sources" db=0.1ms idle=1006.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:48:15.947 [debug] QUERY OK source="sources" db=0.0ms idle=1006.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:15.950 [debug] QUERY OK source="media_items" db=2.3ms idle=1006.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-28 13:00:23Z], 37] 06:48:15.951 [debug] QUERY OK source="media_items" db=0.7ms idle=1009.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Check out Code Rabbit at https://trm.sh/coderabbit\n\nSources:\n\n- https://x.com/MarioNawfal/status/2056170401831796778\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Finally a Normal CEO", "313be7d4-44bc-4795-a9ad-4046e0ba67ae", "-AgwE_4_slM", 835, false, "https://www.youtube.com/watch?v=-AgwE_4_slM", 15, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052800_Finally a Normal CEO.mp4", false, false, false, 37, [], 98, ~U[2026-05-28 13:00:23Z], ~U[2026-06-29 11:48:15Z], ~U[2026-06-29 11:48:15Z], "Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Check out Code Rabbit at https://trm.sh/coderabbit\n\nSources:\n\n- https://x.com/MarioNawfal/status/2056170401831796778\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Finally a Normal CEO", "-AgwE_4_slM", 835, false, "https://www.youtube.com/watch?v=-AgwE_4_slM", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052800_Finally a Normal CEO.mp4", false, 37, ~U[2026-05-28 13:00:23Z]] 06:48:15.951 [debug] QUERY OK source="sources" db=0.2ms idle=76.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:15.951 [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] 06:48:15.952 [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 [3057443] 06:48:15.952 [debug] Current batch of media processed. Will check again in 1000ms 06:48:16.952 [debug] Current batch of media processed. Will check again in 1000ms 06:48:17.953 [debug] Current batch of media processed. Will check again in 1000ms 06:48:18.955 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n\n- https://x.com/i/status/2055405041843052792\n- https://x.com/i/status/2055346265869721905\n\nTopics Covered:\n\n- Token Spending\n- Token Efficiency\n- Buy VS Build VS Vibe\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 720, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052500_Everyone is Wrong about Tokens.mp4", "id" => "0zw-Uk9KJiA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0zw-Uk9KJiA", "playlist_index" => 16, "timestamp" => 1779714031, "title" => "Everyone is Wrong about Tokens", "upload_date" => "20260525"} 06:48:18.955 [debug] QUERY OK source="sources" db=0.2ms idle=1014.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:48:18.956 [debug] QUERY OK source="sources" db=0.1ms idle=1014.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:18.958 [debug] QUERY OK source="media_items" db=2.4ms idle=1015.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-25 13:00:31Z], 37] 06:48:18.960 [debug] QUERY OK source="media_items" db=1.3ms idle=1017.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n\n- https://x.com/i/status/2055405041843052792\n- https://x.com/i/status/2055346265869721905\n\nTopics Covered:\n\n- Token Spending\n- Token Efficiency\n- Buy VS Build VS Vibe\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Everyone is Wrong about Tokens", "232b9c02-6fd0-468c-b582-a1d21b9f373b", "0zw-Uk9KJiA", 720, false, "https://www.youtube.com/watch?v=0zw-Uk9KJiA", 16, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052500_Everyone is Wrong about Tokens.mp4", false, false, false, 37, [], 97, ~U[2026-05-25 13:00:31Z], ~U[2026-06-29 11:48:18Z], ~U[2026-06-29 11:48:18Z], "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n\n- https://x.com/i/status/2055405041843052792\n- https://x.com/i/status/2055346265869721905\n\nTopics Covered:\n\n- Token Spending\n- Token Efficiency\n- Buy VS Build VS Vibe\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Everyone is Wrong about Tokens", "0zw-Uk9KJiA", 720, false, "https://www.youtube.com/watch?v=0zw-Uk9KJiA", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052500_Everyone is Wrong about Tokens.mp4", false, 37, ~U[2026-05-25 13:00:31Z]] 06:48:18.960 [debug] QUERY OK source="sources" db=0.2ms idle=81.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:18.960 [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] 06:48:18.961 [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 [3032070] 06:48:18.961 [debug] Current batch of media processed. Will check again in 1000ms 06:48:19.962 [debug] Current batch of media processed. Will check again in 1000ms 06:48:20.963 [debug] Current batch of media processed. Will check again in 1000ms 06:48:21.964 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Full episode\nYouTube: https://youtu.be/EnbqwpkmoCM\nSpotify: https://open.spotify.com/episode/0BnVK6eJDJA115Q2dDh0i9\n\n\nssh terminal.shop\n Yes, seriously, this is my company, and we selected and found some of the world’s best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\nThe crew dives into “AI psychosis,” coding with GPT vs Claude, doom scrolling tech Twitter, meme culture, burnout, obsession, and what happens when developers start letting AI run wild. Equal parts hilarious, insightful, and slightly concerning.\n\nChapters\n00:00:00 - Intro\n00:02:05 - The Timeline\n00:03:22 - Terminal Coffee\n00:03:56 - The Timeline Continued\n00:06:22 - OpenAI vs Anthropic\n00:11:35 - The Psychosis\n00:19:34 - The Signs\n00:22:58 - Detox\n00:25:33 - Relapse\n00:26:34 - Working day without Psychosis\n00:30:30 - AI Psychosis Detector\n00:32:02 - Triggers\n00:37:11 - Real Questions\n00:39:02 - Advice\n00:44:43 - Closing Thoughts\n00:45:35 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "duration" => 2753, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052400_Recovering from AI Psychosis | TheStandup.mp4", "id" => "cVUVfn8OF5k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cVUVfn8OF5k", "playlist_index" => 17, "timestamp" => 1779627626, "title" => "Recovering from AI Psychosis | TheStandup", "upload_date" => "20260524"} 06:48:21.964 [debug] QUERY OK source="sources" db=0.2ms idle=1023.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:48:21.964 [debug] QUERY OK source="sources" db=0.1ms idle=1023.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:21.967 [debug] QUERY OK source="media_items" db=2.3ms idle=1023.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-24 13:00:26Z], 37] 06:48:21.968 [debug] QUERY OK source="media_items" db=0.9ms idle=1026.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Full episode\nYouTube: https://youtu.be/EnbqwpkmoCM\nSpotify: https://open.spotify.com/episode/0BnVK6eJDJA115Q2dDh0i9\n\n\nssh terminal.shop\n Yes, seriously, this is my company, and we selected and found some of the world’s best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\nThe crew dives into “AI psychosis,” coding with GPT vs Claude, doom scrolling tech Twitter, meme culture, burnout, obsession, and what happens when developers start letting AI run wild. Equal parts hilarious, insightful, and slightly concerning.\n\nChapters\n00:00:00 - Intro\n00:02:05 - The Timeline\n00:03:22 - Terminal Coffee\n00:03:56 - The Timeline Continued\n00:06:22 - OpenAI vs Anthropic\n00:11:35 - The Psychosis\n00:19:34 - The Signs\n00:22:58 - Detox\n00:25:33 - Relapse\n00:26:34 - Working day without Psychosis\n00:30:30 - AI Psychosis Detector\n00:32:02 - Triggers\n00:37:11 - Real Questions\n00:39:02 - Advice\n00:44:43 - Closing Thoughts\n00:45:35 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Recovering from AI Psychosis | TheStandup", "16e6c4f7-6cef-4270-a45a-ad98a5f097b5", "cVUVfn8OF5k", 2753, false, "https://www.youtube.com/watch?v=cVUVfn8OF5k", 17, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052400_Recovering from AI Psychosis | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-05-24 13:00:26Z], ~U[2026-06-29 11:48:21Z], ~U[2026-06-29 11:48:21Z], "Full episode\nYouTube: https://youtu.be/EnbqwpkmoCM\nSpotify: https://open.spotify.com/episode/0BnVK6eJDJA115Q2dDh0i9\n\n\nssh terminal.shop\n Yes, seriously, this is my company, and we selected and found some of the world’s best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\nThe crew dives into “AI psychosis,” coding with GPT vs Claude, doom scrolling tech Twitter, meme culture, burnout, obsession, and what happens when developers start letting AI run wild. Equal parts hilarious, insightful, and slightly concerning.\n\nChapters\n00:00:00 - Intro\n00:02:05 - The Timeline\n00:03:22 - Terminal Coffee\n00:03:56 - The Timeline Continued\n00:06:22 - OpenAI vs Anthropic\n00:11:35 - The Psychosis\n00:19:34 - The Signs\n00:22:58 - Detox\n00:25:33 - Relapse\n00:26:34 - Working day without Psychosis\n00:30:30 - AI Psychosis Detector\n00:32:02 - Triggers\n00:37:11 - Real Questions\n00:39:02 - Advice\n00:44:43 - Closing Thoughts\n00:45:35 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Recovering from AI Psychosis | TheStandup", "cVUVfn8OF5k", 2753, false, "https://www.youtube.com/watch?v=cVUVfn8OF5k", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052400_Recovering from AI Psychosis | TheStandup.mp4", false, 37, ~U[2026-05-24 13:00:26Z]] 06:48:21.969 [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" = ?) [37] 06:48:21.969 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 06:48:21.969 [debug] QUERY OK source="media_items" db=0.1ms 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 [3029732] 06:48:21.969 [debug] Current batch of media processed. Will check again in 1000ms 06:48:22.378 [info] {"source":"oban","duration":7948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:22.970 [debug] Current batch of media processed. Will check again in 1000ms 06:48:23.971 [debug] Current batch of media processed. Will check again in 1000ms 06:48:24.972 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\n## Sources\n\n- https://github.blog/security/investigating-unauthorized-access-to-githubs-internal-repositories/\n- https://techcrunch.com/2026/05/20/github-says-hackers-stole-data-from-thousands-of-internal-repositories/\n\n## Topics Covered\n\n- The latest in a series of Github Hacks\n- Security in the Age of Vibe-coding\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh [terminal.shop](http://terminal.shop/)\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 643, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052200_Github’s Wildest Hack Yet.mp4", "id" => "9tcLy9TnPDU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9tcLy9TnPDU", "playlist_index" => 18, "timestamp" => 1779454817, "title" => "Github’s Wildest Hack Yet", "upload_date" => "20260522"} 06:48:24.972 [debug] QUERY OK source="sources" db=0.1ms idle=1031.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:48:24.972 [debug] QUERY OK source="sources" db=0.1ms idle=1031.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:24.975 [debug] QUERY OK source="media_items" db=2.3ms idle=1032.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-22 13:00:17Z], 37] 06:48:24.976 [debug] QUERY OK source="media_items" db=0.8ms idle=1034.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\n## Sources\n\n- https://github.blog/security/investigating-unauthorized-access-to-githubs-internal-repositories/\n- https://techcrunch.com/2026/05/20/github-says-hackers-stole-data-from-thousands-of-internal-repositories/\n\n## Topics Covered\n\n- The latest in a series of Github Hacks\n- Security in the Age of Vibe-coding\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh [terminal.shop](http://terminal.shop/)\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Github’s Wildest Hack Yet", "94740884-39c6-4349-9466-fc0cf74136bf", "9tcLy9TnPDU", 643, false, "https://www.youtube.com/watch?v=9tcLy9TnPDU", 18, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052200_Github’s Wildest Hack Yet.mp4", false, false, false, 37, [], 98, ~U[2026-05-22 13:00:17Z], ~U[2026-06-29 11:48:24Z], ~U[2026-06-29 11:48:24Z], "PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\n## Sources\n\n- https://github.blog/security/investigating-unauthorized-access-to-githubs-internal-repositories/\n- https://techcrunch.com/2026/05/20/github-says-hackers-stole-data-from-thousands-of-internal-repositories/\n\n## Topics Covered\n\n- The latest in a series of Github Hacks\n- Security in the Age of Vibe-coding\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh [terminal.shop](http://terminal.shop/)\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Github’s Wildest Hack Yet", "9tcLy9TnPDU", 643, false, "https://www.youtube.com/watch?v=9tcLy9TnPDU", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052200_Github’s Wildest Hack Yet.mp4", false, 37, ~U[2026-05-22 13:00:17Z]] 06:48:24.977 [debug] QUERY OK source="sources" db=0.1ms idle=90.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:24.977 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 06:48:24.977 [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 [3011232] 06:48:24.977 [debug] Current batch of media processed. Will check again in 1000ms 06:48:25.978 [debug] Current batch of media processed. Will check again in 1000ms 06:48:26.979 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/ctatedev/status/2055434061322039377\n- https://github.com/vercel-labs/zero\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 834, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052000_Why Did They Build This?.mp4", "id" => "RnxTTF8x-24", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RnxTTF8x-24", "playlist_index" => 19, "timestamp" => 1779282028, "title" => "Why Did They Build This?", "upload_date" => "20260520"} 06:48:26.979 [debug] QUERY OK source="sources" db=0.1ms idle=89.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:48:26.979 [debug] QUERY OK source="sources" db=0.1ms idle=38.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:26.982 [debug] QUERY OK source="media_items" db=2.3ms idle=38.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-20 13:00:28Z], 37] 06:48:26.983 [debug] QUERY OK source="media_items" db=1.0ms idle=41.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/ctatedev/status/2055434061322039377\n- https://github.com/vercel-labs/zero\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Why Did They Build This?", "d5ff4983-01e7-4d19-8f9a-4d055cf7ee31", "RnxTTF8x-24", 834, false, "https://www.youtube.com/watch?v=RnxTTF8x-24", 19, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052000_Why Did They Build This?.mp4", false, false, false, 37, [], 98, ~U[2026-05-20 13:00:28Z], ~U[2026-06-29 11:48:26Z], ~U[2026-06-29 11:48:26Z], "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/ctatedev/status/2055434061322039377\n- https://github.com/vercel-labs/zero\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Why Did They Build This?", "RnxTTF8x-24", 834, false, "https://www.youtube.com/watch?v=RnxTTF8x-24", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052000_Why Did They Build This?.mp4", false, 37, ~U[2026-05-20 13:00:28Z]] 06:48:26.984 [debug] QUERY OK source="sources" db=0.1ms idle=42.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:26.984 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 06:48:26.984 [debug] QUERY OK source="media_items" db=0.1ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2995498] 06:48:26.984 [debug] Current batch of media processed. Will check again in 1000ms 06:48:27.028 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCUyeluBRhGPCW4rPe_UvBZQ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/fd/31/fd31cb67ec94a06dbeb37ea2dfe1b039f750fec2b7b153c9cbd2e96b5a9a4b93.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/9f/39/9f3965c9c11dec282b66bb8cf94346a2a6d25fdb8f5d01e2d77a951f351be59e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 06:48:27.029 [debug] Gracefully stopping file follower 06:48:27.029 [debug] QUERY OK source="sources" db=0.4ms idle=46.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 06:48:27.029 [debug] QUERY OK source="sources" db=0.1ms idle=46.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:27.032 [debug] QUERY OK source="media_items" db=2.2ms idle=45.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-25 13:00:28Z], 37] 06:48:27.033 [debug] QUERY OK source="media_items" db=0.7ms idle=48.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Having trouble finding the right developer for your team? Get a 7-day free trial + $1,500 off with The Prime’s discount: https://trm.sh/g2i\n\nSources:\n\n- https://x.com/mitchellh/status/2067970516951150721\n\nTopics Covered:\n\n- Poisoning Agents\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "They're Poisoning the Agents!", "4a6307a0-a28a-4207-a505-0eda9bdf5475", "bh6S4N8TnYQ", 756, false, "https://www.youtube.com/watch?v=bh6S4N8TnYQ", 1, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062500_They're Poisoning the Agents!.mp4", false, false, false, 37, [], 98, ~U[2026-06-25 13:00:28Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "Having trouble finding the right developer for your team? Get a 7-day free trial + $1,500 off with The Prime’s discount: https://trm.sh/g2i\n\nSources:\n\n- https://x.com/mitchellh/status/2067970516951150721\n\nTopics Covered:\n\n- Poisoning Agents\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "They're Poisoning the Agents!", "bh6S4N8TnYQ", 756, false, "https://www.youtube.com/watch?v=bh6S4N8TnYQ", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062500_They're Poisoning the Agents!.mp4", false, 37, ~U[2026-06-25 13:00:28Z]] 06:48:27.033 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:27.035 [debug] QUERY OK source="media_items" db=2.2ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-23 14:42:09Z], 37] 06:48:27.037 [debug] QUERY OK source="media_items" db=0.8ms idle=6.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/midjourney/status/2067422898407837797?s=20\n\nTopics Covered:\n\n- Midjourney\n- MRIs\n- Data and Data Limits\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest AI Pivot yet", "75846b68-b86a-4cec-b42f-f819f3a9fc19", "nGqGrrYeYGc", 812, false, "https://www.youtube.com/watch?v=nGqGrrYeYGc", 2, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062300_The Craziest AI Pivot yet.mp4", false, false, false, 37, [], 98, ~U[2026-06-23 14:42:09Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/midjourney/status/2067422898407837797?s=20\n\nTopics Covered:\n\n- Midjourney\n- MRIs\n- Data and Data Limits\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest AI Pivot yet", "nGqGrrYeYGc", 812, false, "https://www.youtube.com/watch?v=nGqGrrYeYGc", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062300_The Craziest AI Pivot yet.mp4", false, 37, ~U[2026-06-23 14:42:09Z]] 06:48:27.037 [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" = ?) [37] 06:48:27.039 [debug] QUERY OK source="media_items" db=2.0ms 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-06-19 13:00:14Z], 37] 06:48:27.041 [debug] QUERY OK source="media_items" db=1.2ms idle=6.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams\n\nhttps://trm.sh/kernel\n\nSources:\n\n- https://x.com/AnthropicAI/status/2065597531644743999\n- https://www.politico.com/news/2026/06/13/inside-the-whirlwind-24-hours-that-led-the-white-house-to-slap-export-controls-on-anthropic-00961519\n- https://x.com/hugolowell/status/2066695452016169471?s=20\n- https://x.com/simonw/status/2066722034491789720\n- https://x.com/mark_k/status/2065838368865259892\n- https://x.com/PolymarketMoney/status/2065801798137545076\n- https://x.com/0xPBIT/status/2066613611313906108\n- https://x.com/MilkRoadAI/status/2066309017211986134\n- https://www.sciencealert.com/scientists-developed-an-ai-so-advanced-they-say-it-s-too-dangerous-to-release\n- https://x.com/yunyu_l/status/2065899765645169013\n- https://x.com/yunyu_l/status/2065933211146891435\n- https://darioamodei.com/post/the-urgency-of-interpretability\n- https://x.com/Hangsiin/status/2064397550434816088\n- https://x.com/NathanMcNulty/status/2064549828957507970\n- http://x.com/kradleai/status/2064907897373642912/photo/1\n\nTopics Covered:\n\n- Claude Fable 5\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Fable Deserved It", "4cc3143f-3649-46f5-a67e-0c592e24d496", "jJbelC85zic", 898, false, "https://www.youtube.com/watch?v=jJbelC85zic", 3, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061900_Fable Deserved It.mp4", false, false, false, 37, [], 98, ~U[2026-06-19 13:00:14Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams\n\nhttps://trm.sh/kernel\n\nSources:\n\n- https://x.com/AnthropicAI/status/2065597531644743999\n- https://www.politico.com/news/2026/06/13/inside-the-whirlwind-24-hours-that-led-the-white-house-to-slap-export-controls-on-anthropic-00961519\n- https://x.com/hugolowell/status/2066695452016169471?s=20\n- https://x.com/simonw/status/2066722034491789720\n- https://x.com/mark_k/status/2065838368865259892\n- https://x.com/PolymarketMoney/status/2065801798137545076\n- https://x.com/0xPBIT/status/2066613611313906108\n- https://x.com/MilkRoadAI/status/2066309017211986134\n- https://www.sciencealert.com/scientists-developed-an-ai-so-advanced-they-say-it-s-too-dangerous-to-release\n- https://x.com/yunyu_l/status/2065899765645169013\n- https://x.com/yunyu_l/status/2065933211146891435\n- https://darioamodei.com/post/the-urgency-of-interpretability\n- https://x.com/Hangsiin/status/2064397550434816088\n- https://x.com/NathanMcNulty/status/2064549828957507970\n- http://x.com/kradleai/status/2064907897373642912/photo/1\n\nTopics Covered:\n\n- Claude Fable 5\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Fable Deserved It", "jJbelC85zic", 898, false, "https://www.youtube.com/watch?v=jJbelC85zic", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061900_Fable Deserved It.mp4", false, 37, ~U[2026-06-19 13:00:14Z]] 06:48:27.041 [debug] QUERY OK source="sources" db=0.4ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:27.044 [debug] QUERY OK source="media_items" db=2.1ms idle=5.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-18 12:30:17Z], 37] 06:48:27.045 [debug] QUERY OK source="media_items" db=0.9ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["ssh terminal.shop\nYes, seriously, this is my company, and we selected and found some of the worlds best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\n## Sources\n\n- https://techcrunch.com/2026/06/12/metas-months-old-ai-unit-is-a-soul-crushing-gulag-say-the-engineers-stuck-inside-it/\n\n## Topics Covered\n\n- Meta and Facebook AI unit\n- Programming Careers\n- The future of AI work\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "What is happening at Meta?", "9b97ba7a-9a5d-4386-b1c9-57a532b5b482", "OOCepY3H8k4", 841, false, "https://www.youtube.com/watch?v=OOCepY3H8k4", 4, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061800_What is happening at Meta?.mp4", false, false, false, 37, [], 98, ~U[2026-06-18 12:30:17Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "ssh terminal.shop\nYes, seriously, this is my company, and we selected and found some of the worlds best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\n## Sources\n\n- https://techcrunch.com/2026/06/12/metas-months-old-ai-unit-is-a-soul-crushing-gulag-say-the-engineers-stuck-inside-it/\n\n## Topics Covered\n\n- Meta and Facebook AI unit\n- Programming Careers\n- The future of AI work\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "What is happening at Meta?", "OOCepY3H8k4", 841, false, "https://www.youtube.com/watch?v=OOCepY3H8k4", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061800_What is happening at Meta?.mp4", false, 37, ~U[2026-06-18 12:30:17Z]] 06:48:27.046 [debug] QUERY OK source="sources" db=0.3ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:27.048 [debug] QUERY OK source="media_items" db=2.2ms 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-06-16 12:30:29Z], 37] 06:48:27.049 [debug] QUERY OK source="media_items" db=0.8ms idle=6.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\nSources:\n\n- https://www.ioccc.org\n\nTopics Covered:\n\n- The International Obfuscated C Code Contest\n\nhttps://twitch.tv/ThePrimeagen - I stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest Coding Contest Ever", "78e0b2c3-0ce7-481a-a05a-487ce38236c0", "-BhcQURVjJg", 1962, false, "https://www.youtube.com/watch?v=-BhcQURVjJg", 5, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061600_The Craziest Coding Contest Ever.mp4", false, false, false, 37, [], 98, ~U[2026-06-16 12:30:29Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\nSources:\n\n- https://www.ioccc.org\n\nTopics Covered:\n\n- The International Obfuscated C Code Contest\n\nhttps://twitch.tv/ThePrimeagen - I stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest Coding Contest Ever", "-BhcQURVjJg", 1962, false, "https://www.youtube.com/watch?v=-BhcQURVjJg", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061600_The Craziest Coding Contest Ever.mp4", false, 37, ~U[2026-06-16 12:30:29Z]] 06:48:27.050 [debug] QUERY OK source="sources" db=0.4ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:27.052 [debug] QUERY OK source="media_items" db=2.2ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-12 13:00:08Z], 37] 06:48:27.067 [debug] QUERY OK source="media_items" db=14.1ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Linear helps teams track issues, manage projects, collaborate on docs, and ship products - and the crazy thing is their software is actually fast and a joy to use. Learn more: https://trm.sh/linear\n\nSources:\n- Youtube: https: //www.youtube.com/watch?v=RkQQ7WEor7w\n- Graph: https://x.com/AnthropicAI/status/2062568864240836995/photo/1 \n- Wiki / Timeline of Claude: https://en.wikipedia.org/wiki/Claude_(language_model)\n- Github Issue #1: https://github.com/anthropics/claude-code/issues/392\n- Github Issue #2: https://github.com/anthropics/claude-code/issues/769 \n- Github Issue #3: https://github.com/anthropics/claude-code/issues/1913 \n- Flickering 85% solved: https://x.com/trq212/status/2001439019713073626\n- Rolled back: https://x.com/trq212/status/2001848726395269619\n- 3000 Unused Features: https://x.com/CurtTigges/status/2037038538718667103\n- Flickering Solved Feature Flag: https://x.com/bcherny/status/2039421575422980329\n- \"Fewer Error Messages\": https://x.com/ClaudeDevs/status/2059701681349353901\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "I Think They Are Lying To You", "1f9e5774-6b41-495d-9876-6ee2aac6bbf0", "zfYsSFY4l18", 811, false, "https://www.youtube.com/watch?v=zfYsSFY4l18", 6, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061200_I Think They Are Lying To You.mp4", false, false, false, 37, [], 98, ~U[2026-06-12 13:00:08Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "Linear helps teams track issues, manage projects, collaborate on docs, and ship products - and the crazy thing is their software is actually fast and a joy to use. Learn more: https://trm.sh/linear\n\nSources:\n- Youtube: https: //www.youtube.com/watch?v=RkQQ7WEor7w\n- Graph: https://x.com/AnthropicAI/status/2062568864240836995/photo/1 \n- Wiki / Timeline of Claude: https://en.wikipedia.org/wiki/Claude_(language_model)\n- Github Issue #1: https://github.com/anthropics/claude-code/issues/392\n- Github Issue #2: https://github.com/anthropics/claude-code/issues/769 \n- Github Issue #3: https://github.com/anthropics/claude-code/issues/1913 \n- Flickering 85% solved: https://x.com/trq212/status/2001439019713073626\n- Rolled back: https://x.com/trq212/status/2001848726395269619\n- 3000 Unused Features: https://x.com/CurtTigges/status/2037038538718667103\n- Flickering Solved Feature Flag: https://x.com/bcherny/status/2039421575422980329\n- \"Fewer Error Messages\": https://x.com/ClaudeDevs/status/2059701681349353901\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "I Think They Are Lying To You", "zfYsSFY4l18", 811, false, "https://www.youtube.com/watch?v=zfYsSFY4l18", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061200_I Think They Are Lying To You.mp4", false, 37, ~U[2026-06-12 13:00:08Z]] 06:48:27.068 [debug] QUERY OK source="sources" db=0.4ms idle=19.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:27.070 [debug] QUERY OK source="media_items" db=2.1ms idle=18.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-10 16:54:26Z], 37] 06:48:27.076 [debug] QUERY OK source="media_items" db=5.8ms idle=20.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nChapters\n00:00:00 - Intro\n00:00:08 - I was right about Token Cost\n00:02:35 - Prediction 0: AI Labs will trade tokens for equity\n00:02:51 - Prediction 1: Opensource Token Donations\n00:04:06 - Cursor\n00:04:46 - Prediction 2: Token Budgets/Stipends\n00:06:35 - Prediction 3: Token Poker\n00:09:07 - Prediction 4: Org & Team Wide Token Budgets\n00:11:31 - Prediction 5: Rewarding LoC with more token budget\n\nSources:\n- https://geohot.github.io//blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n- https://x.com/BusinessInsider/status/2062211094450434219\n- https://www.wheresyoured.at/ai-is-too-expensive/#organizations-cannot-afford-to-keep-blowing-through-their-ai-budgets-millions-of-dollars-at-a-time-without-roi\n- https://www.lennysnewsletter.com/p/head-of-claude-code-what-happens\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Unfortunately, I Was Right", "bac16640-3e7e-407f-87b3-36856e22b65e", "m-bT5v5Tm7w", 824, false, "https://www.youtube.com/watch?v=m-bT5v5Tm7w", 7, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061000_Unfortunately, I Was Right.mp4", false, false, false, 37, [], 98, ~U[2026-06-10 16:54:26Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nChapters\n00:00:00 - Intro\n00:00:08 - I was right about Token Cost\n00:02:35 - Prediction 0: AI Labs will trade tokens for equity\n00:02:51 - Prediction 1: Opensource Token Donations\n00:04:06 - Cursor\n00:04:46 - Prediction 2: Token Budgets/Stipends\n00:06:35 - Prediction 3: Token Poker\n00:09:07 - Prediction 4: Org & Team Wide Token Budgets\n00:11:31 - Prediction 5: Rewarding LoC with more token budget\n\nSources:\n- https://geohot.github.io//blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n- https://x.com/BusinessInsider/status/2062211094450434219\n- https://www.wheresyoured.at/ai-is-too-expensive/#organizations-cannot-afford-to-keep-blowing-through-their-ai-budgets-millions-of-dollars-at-a-time-without-roi\n- https://www.lennysnewsletter.com/p/head-of-claude-code-what-happens\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Unfortunately, I Was Right", "m-bT5v5Tm7w", 824, false, "https://www.youtube.com/watch?v=m-bT5v5Tm7w", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061000_Unfortunately, I Was Right.mp4", false, 37, ~U[2026-06-10 16:54:26Z]] 06:48:27.077 [debug] QUERY OK source="sources" db=0.3ms idle=24.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:27.079 [debug] QUERY OK source="media_items" db=2.0ms idle=10.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-08 12:30:13Z], 37] 06:48:27.080 [debug] QUERY OK source="media_items" db=0.8ms idle=11.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, and Mintlify → https://trm.sh/blacksmith\n\nResources:\n* https://github.com/golang/go/issues/77273\n\nTopics:\n* Go\n* Language Evolution\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "I am done with Golang", "53c7458f-07c4-46c0-8825-5bd140a062d9", "WqSWZuGS9pc", 702, false, "https://www.youtube.com/watch?v=WqSWZuGS9pc", 8, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060800_I am done with Golang.mp4", false, false, false, 37, [], 97, ~U[2026-06-08 12:30:13Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, and Mintlify → https://trm.sh/blacksmith\n\nResources:\n* https://github.com/golang/go/issues/77273\n\nTopics:\n* Go\n* Language Evolution\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "I am done with Golang", "WqSWZuGS9pc", 702, false, "https://www.youtube.com/watch?v=WqSWZuGS9pc", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060800_I am done with Golang.mp4", false, 37, ~U[2026-06-08 12:30:13Z]] 06:48:27.080 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [37] 06:48:27.082 [debug] QUERY OK source="media_items" db=1.9ms 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-06-07 13:00:11Z], 37] 06:48:27.084 [debug] QUERY OK source="media_items" db=0.8ms idle=6.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Checkout out Code Rabbit at https://trm.sh/coderabbit\n\nFull Episode:\nYoutube: https://youtu.be/PxNr7k1v-Rk\nSpotify: https://open.spotify.com/episode/4VOHebTzXEThro58G1ArKp\n\n[Description]\nWe dive deep into technical performance debates, specifically the nuances of floating-point math—is multiplying by a reciprocal actually faster than division on modern CPUs?\n\nWe also break down the latest from Microsoft and NVIDIA, including the \"RTX Spark\" and the vision of \"unmetered intelligence.\" Plus, don't miss \"Trash Facts\" about professional bowling and the latest \"Snack Picks.\"\n\n[Chapters]\n00:00:00 - Intro\n00:03:32 - CodeRabbit\n00:05:28 - Prime Blocker\n00:27:48 - Outro\n\n[Sponsors]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Casey Destroys Optimization Myths | TheStandup", "eea78166-0f46-412b-ac45-5b3c322dd9d3", "pslodI0Mh_0", 1693, false, "https://www.youtube.com/watch?v=pslodI0Mh_0", 9, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060700_Casey Destroys Optimization Myths | TheStandup.mp4", false, false, false, 37, [], 97, ~U[2026-06-07 13:00:11Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Checkout out Code Rabbit at https://trm.sh/coderabbit\n\nFull Episode:\nYoutube: https://youtu.be/PxNr7k1v-Rk\nSpotify: https://open.spotify.com/episode/4VOHebTzXEThro58G1ArKp\n\n[Description]\nWe dive deep into technical performance debates, specifically the nuances of floating-point math—is multiplying by a reciprocal actually faster than division on modern CPUs?\n\nWe also break down the latest from Microsoft and NVIDIA, including the \"RTX Spark\" and the vision of \"unmetered intelligence.\" Plus, don't miss \"Trash Facts\" about professional bowling and the latest \"Snack Picks.\"\n\n[Chapters]\n00:00:00 - Intro\n00:03:32 - CodeRabbit\n00:05:28 - Prime Blocker\n00:27:48 - Outro\n\n[Sponsors]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Casey Destroys Optimization Myths | TheStandup", "pslodI0Mh_0", 1693, false, "https://www.youtube.com/watch?v=pslodI0Mh_0", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060700_Casey Destroys Optimization Myths | TheStandup.mp4", false, 37, ~U[2026-06-07 13:00:11Z]] 06:48:27.084 [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" = ?) [37] 06:48:27.086 [debug] QUERY OK source="media_items" db=1.9ms 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-06-05 13:00:05Z], 37] 06:48:27.087 [debug] QUERY OK source="media_items" db=0.7ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n- https://world.hey.com/dhh/let-the-agents-democratize-open-source-9fd630a9\n- https://ziglang.org/code-of-conduct/#strict-no-llm-no-ai-policy\n- https://github.com/mitchellh/vouch\n- https://x.com/kirancodes/status/2060389488317116649\n- https://www.youtube.com/watch?v=iqddnwKF8HQ\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "It finally happened", "6f0ddacb-7474-4e05-842f-5851e29c8081", "pkndFYSTr0Y", 1000, false, "https://www.youtube.com/watch?v=pkndFYSTr0Y", 10, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060500_It finally happened.mp4", false, false, false, 37, [], 98, ~U[2026-06-05 13:00:05Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n- https://world.hey.com/dhh/let-the-agents-democratize-open-source-9fd630a9\n- https://ziglang.org/code-of-conduct/#strict-no-llm-no-ai-policy\n- https://github.com/mitchellh/vouch\n- https://x.com/kirancodes/status/2060389488317116649\n- https://www.youtube.com/watch?v=iqddnwKF8HQ\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "It finally happened", "pkndFYSTr0Y", 1000, false, "https://www.youtube.com/watch?v=pkndFYSTr0Y", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060500_It finally happened.mp4", false, 37, ~U[2026-06-05 13:00:05Z]] 06:48:27.088 [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" = ?) [37] 06:48:27.090 [debug] QUERY OK source="media_items" db=1.9ms 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-06-03 12:30:15Z], 37] 06:48:27.091 [debug] QUERY OK source="media_items" db=0.7ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Big A: https://youtube.com/@AtriocClips\n\nSources:\nhttps://geohot.github.io/blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n\nTopics Covered:\n- Layoffs in 2026\n- AI affecting Jobs\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Layoffs are getting Wild (ft. Big A)", "aa4c5d47-b58b-4eb1-b198-96553d2d9b44", "f1jlJCNgtOg", 2452, false, "https://www.youtube.com/watch?v=f1jlJCNgtOg", 11, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060300_Layoffs are getting Wild (ft. Big A).mp4", false, false, false, 37, [], 98, ~U[2026-06-03 12:30:15Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "Big A: https://youtube.com/@AtriocClips\n\nSources:\nhttps://geohot.github.io/blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n\nTopics Covered:\n- Layoffs in 2026\n- AI affecting Jobs\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Layoffs are getting Wild (ft. Big A)", "f1jlJCNgtOg", 2452, false, "https://www.youtube.com/watch?v=f1jlJCNgtOg", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060300_Layoffs are getting Wild (ft. Big A).mp4", false, 37, ~U[2026-06-03 12:30:15Z]] 06:48:27.091 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [37] 06:48:27.093 [debug] QUERY OK source="media_items" db=1.8ms 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-06-01 13:00:09Z], 37] 06:48:27.094 [debug] QUERY OK source="media_items" db=0.8ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams https://trm.sh/kernel\n\nSources:\n\n- https://blog.barracuda.com/2026/05/19/nightmare-eclipse-zero-days-grudge\n- https://x.com/podalirius_/status/2059892083029069929\n- https://x.com/GabrielLandau/status/2059990548337828090\n- https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure\n- https://www.linkedin.com/pulse/microsoftthe-truth-even-worse-than-you-think-amit-yoran/\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "\"We will ruin your life\" -Microsoft", "2afa0380-a0e2-4480-9f67-d50988f40dd7", "9kxx5xp5nTQ", 627, false, "https://www.youtube.com/watch?v=9kxx5xp5nTQ", 12, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060100_"We will ruin your life" -Microsoft.mp4", false, false, false, 37, [], 95, ~U[2026-06-01 13:00:09Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams https://trm.sh/kernel\n\nSources:\n\n- https://blog.barracuda.com/2026/05/19/nightmare-eclipse-zero-days-grudge\n- https://x.com/podalirius_/status/2059892083029069929\n- https://x.com/GabrielLandau/status/2059990548337828090\n- https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure\n- https://www.linkedin.com/pulse/microsoftthe-truth-even-worse-than-you-think-amit-yoran/\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "\"We will ruin your life\" -Microsoft", "9kxx5xp5nTQ", 627, false, "https://www.youtube.com/watch?v=9kxx5xp5nTQ", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060100_"We will ruin your life" -Microsoft.mp4", false, 37, ~U[2026-06-01 13:00:09Z]] 06:48:27.095 [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" = ?) [37] 06:48:27.097 [debug] QUERY OK source="media_items" db=2.7ms 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-05-30 13:00:14Z], 37] 06:48:27.099 [debug] QUERY OK source="media_items" db=1.2ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to this week's sponsor: Code Rabbit If you're tired of developers just replying with LGTM, then you NEED Code Rabbit. An actually useful application of AI where it can use your own rules, lints and more to provide instant feedback in your editor OR a review on Github. https://coderabbit.link/primeagen-vscode\n\nFull Episode\nSpotify: https://open.spotify.com/episode/7xcNgaZ7d0PgCNqNk9v1ge?si=BoDbRw6rRuSfhQ48wlGTkA\nYoutube: https://youtu.be/AapTIwXPztM\n\nPeep Trash’s Dotfiles: https://github.com/bautistaaa/dotfiles\n\nTrash takes us through his \"hell on earth\" first week switching from Mac to Linux. From battling Wi-Fi drivers on an ancient MacBook Air to discovering the aesthetic joy of Hyperland and custom dot files, this episode covers the highs and lows of the Linux desktop experience. We also dive into the messy definitions of AGI, the utility of efficiency cores in modern CPUs, and why everyone needs a dedicated snack officer.\n\nChapters\n00:00:00 - Intro\n00:00:22 - Choosing a Linux Distro\n00:03:41 - MergeCop\n00:05:32 - Back to Distros\n00:08:42 - Hyprland\n00:11:37 - Scuffed Demo\n00:19:47 - Compositors\n00:22:31 - Linux Pilled\n00:23:46 - Configuration for Everything\n00:25:47 - Picking a Laptop for Linux\n00:29:35 - More Distros\n00:31:06 - Packages and User land\n00:48:17 - DirectX\n00:50:15 - Distro differences and Install experiences\n00:54:57 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Trash VS Linux | TheStandup", "fc469635-63ce-4235-9c93-4d7fa5ae43ff", "kSuMjLbjqsI", 3359, false, "https://www.youtube.com/watch?v=kSuMjLbjqsI", 13, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e053000_Trash VS Linux | TheStandup.mp4", false, false, false, 37, [], 96, ~U[2026-05-30 13:00:14Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "Thanks to this week's sponsor: Code Rabbit If you're tired of developers just replying with LGTM, then you NEED Code Rabbit. An actually useful application of AI where it can use your own rules, lints and more to provide instant feedback in your editor OR a review on Github. https://coderabbit.link/primeagen-vscode\n\nFull Episode\nSpotify: https://open.spotify.com/episode/7xcNgaZ7d0PgCNqNk9v1ge?si=BoDbRw6rRuSfhQ48wlGTkA\nYoutube: https://youtu.be/AapTIwXPztM\n\nPeep Trash’s Dotfiles: https://github.com/bautistaaa/dotfiles\n\nTrash takes us through his \"hell on earth\" first week switching from Mac to Linux. From battling Wi-Fi drivers on an ancient MacBook Air to discovering the aesthetic joy of Hyperland and custom dot files, this episode covers the highs and lows of the Linux desktop experience. We also dive into the messy definitions of AGI, the utility of efficiency cores in modern CPUs, and why everyone needs a dedicated snack officer.\n\nChapters\n00:00:00 - Intro\n00:00:22 - Choosing a Linux Distro\n00:03:41 - MergeCop\n00:05:32 - Back to Distros\n00:08:42 - Hyprland\n00:11:37 - Scuffed Demo\n00:19:47 - Compositors\n00:22:31 - Linux Pilled\n00:23:46 - Configuration for Everything\n00:25:47 - Picking a Laptop for Linux\n00:29:35 - More Distros\n00:31:06 - Packages and User land\n00:48:17 - DirectX\n00:50:15 - Distro differences and Install experiences\n00:54:57 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Trash VS Linux | TheStandup", "kSuMjLbjqsI", 3359, false, "https://www.youtube.com/watch?v=kSuMjLbjqsI", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e053000_Trash VS Linux | TheStandup.mp4", false, 37, ~U[2026-05-30 13:00:14Z]] 06:48:27.100 [debug] QUERY OK source="sources" db=0.3ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:27.102 [debug] QUERY OK source="media_items" db=2.2ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-29 12:30:39Z], 37] 06:48:27.158 [debug] QUERY OK source="media_items" db=55.6ms idle=7.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["https://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nssh [terminal.shop](http://terminal.shop/)\nTurns out if you drink coffee all day while programming, you become extremely annoying about coffee quality. So we made our own. Fresh roasted. Weirdly good. US only (for now).\n\n## Sources\n\n* https://fortune.com/2026/05/26/uber-coo-ai-spending-tokens-claude-code/\n\n## Topics Covered\n\n* Productivity in Tech\n* Agentic Engineering \n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Maybe we were wrong", "13218024-f661-4dfd-89ec-e5d33428ce98", "SUDrFXFV-6U", 810, false, "https://www.youtube.com/watch?v=SUDrFXFV-6U", 14, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052900_Maybe we were wrong.mp4", false, false, false, 37, [], 97, ~U[2026-05-29 12:30:39Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "https://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nssh [terminal.shop](http://terminal.shop/)\nTurns out if you drink coffee all day while programming, you become extremely annoying about coffee quality. So we made our own. Fresh roasted. Weirdly good. US only (for now).\n\n## Sources\n\n* https://fortune.com/2026/05/26/uber-coo-ai-spending-tokens-claude-code/\n\n## Topics Covered\n\n* Productivity in Tech\n* Agentic Engineering \n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Maybe we were wrong", "SUDrFXFV-6U", 810, false, "https://www.youtube.com/watch?v=SUDrFXFV-6U", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052900_Maybe we were wrong.mp4", false, 37, ~U[2026-05-29 12:30:39Z]] 06:48:27.159 [debug] QUERY OK source="sources" db=0.4ms idle=61.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:27.161 [debug] QUERY OK source="media_items" db=2.3ms idle=60.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-28 13:00:23Z], 37] 06:48:27.163 [debug] QUERY OK source="media_items" db=0.7ms idle=61.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Check out Code Rabbit at https://trm.sh/coderabbit\n\nSources:\n\n- https://x.com/MarioNawfal/status/2056170401831796778\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Finally a Normal CEO", "14438128-5117-4ca8-999f-8d65ca7de0a9", "-AgwE_4_slM", 835, false, "https://www.youtube.com/watch?v=-AgwE_4_slM", 15, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052800_Finally a Normal CEO.mp4", false, false, false, 37, [], 98, ~U[2026-05-28 13:00:23Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Check out Code Rabbit at https://trm.sh/coderabbit\n\nSources:\n\n- https://x.com/MarioNawfal/status/2056170401831796778\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Finally a Normal CEO", "-AgwE_4_slM", 835, false, "https://www.youtube.com/watch?v=-AgwE_4_slM", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052800_Finally a Normal CEO.mp4", false, 37, ~U[2026-05-28 13:00:23Z]] 06:48:27.163 [debug] QUERY OK source="sources" db=0.3ms idle=60.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:27.165 [debug] QUERY OK source="media_items" db=2.2ms idle=5.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-25 13:00:31Z], 37] 06:48:27.167 [debug] QUERY OK source="media_items" db=0.7ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n\n- https://x.com/i/status/2055405041843052792\n- https://x.com/i/status/2055346265869721905\n\nTopics Covered:\n\n- Token Spending\n- Token Efficiency\n- Buy VS Build VS Vibe\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Everyone is Wrong about Tokens", "f56ea977-8cd1-49ae-b60d-0651b80e765f", "0zw-Uk9KJiA", 720, false, "https://www.youtube.com/watch?v=0zw-Uk9KJiA", 16, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052500_Everyone is Wrong about Tokens.mp4", false, false, false, 37, [], 97, ~U[2026-05-25 13:00:31Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n\n- https://x.com/i/status/2055405041843052792\n- https://x.com/i/status/2055346265869721905\n\nTopics Covered:\n\n- Token Spending\n- Token Efficiency\n- Buy VS Build VS Vibe\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Everyone is Wrong about Tokens", "0zw-Uk9KJiA", 720, false, "https://www.youtube.com/watch?v=0zw-Uk9KJiA", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052500_Everyone is Wrong about Tokens.mp4", false, 37, ~U[2026-05-25 13:00:31Z]] 06:48:27.167 [debug] QUERY OK source="sources" db=0.3ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:27.169 [debug] QUERY OK source="media_items" db=2.1ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-24 13:00:26Z], 37] 06:48:27.170 [debug] QUERY OK source="media_items" db=0.8ms idle=6.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Full episode\nYouTube: https://youtu.be/EnbqwpkmoCM\nSpotify: https://open.spotify.com/episode/0BnVK6eJDJA115Q2dDh0i9\n\n\nssh terminal.shop\n Yes, seriously, this is my company, and we selected and found some of the world’s best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\nThe crew dives into “AI psychosis,” coding with GPT vs Claude, doom scrolling tech Twitter, meme culture, burnout, obsession, and what happens when developers start letting AI run wild. Equal parts hilarious, insightful, and slightly concerning.\n\nChapters\n00:00:00 - Intro\n00:02:05 - The Timeline\n00:03:22 - Terminal Coffee\n00:03:56 - The Timeline Continued\n00:06:22 - OpenAI vs Anthropic\n00:11:35 - The Psychosis\n00:19:34 - The Signs\n00:22:58 - Detox\n00:25:33 - Relapse\n00:26:34 - Working day without Psychosis\n00:30:30 - AI Psychosis Detector\n00:32:02 - Triggers\n00:37:11 - Real Questions\n00:39:02 - Advice\n00:44:43 - Closing Thoughts\n00:45:35 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Recovering from AI Psychosis | TheStandup", "cfdc597d-c04b-440a-a1e0-bcdbbdde2cb6", "cVUVfn8OF5k", 2753, false, "https://www.youtube.com/watch?v=cVUVfn8OF5k", 17, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052400_Recovering from AI Psychosis | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-05-24 13:00:26Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "Full episode\nYouTube: https://youtu.be/EnbqwpkmoCM\nSpotify: https://open.spotify.com/episode/0BnVK6eJDJA115Q2dDh0i9\n\n\nssh terminal.shop\n Yes, seriously, this is my company, and we selected and found some of the world’s best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\nThe crew dives into “AI psychosis,” coding with GPT vs Claude, doom scrolling tech Twitter, meme culture, burnout, obsession, and what happens when developers start letting AI run wild. Equal parts hilarious, insightful, and slightly concerning.\n\nChapters\n00:00:00 - Intro\n00:02:05 - The Timeline\n00:03:22 - Terminal Coffee\n00:03:56 - The Timeline Continued\n00:06:22 - OpenAI vs Anthropic\n00:11:35 - The Psychosis\n00:19:34 - The Signs\n00:22:58 - Detox\n00:25:33 - Relapse\n00:26:34 - Working day without Psychosis\n00:30:30 - AI Psychosis Detector\n00:32:02 - Triggers\n00:37:11 - Real Questions\n00:39:02 - Advice\n00:44:43 - Closing Thoughts\n00:45:35 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Recovering from AI Psychosis | TheStandup", "cVUVfn8OF5k", 2753, false, "https://www.youtube.com/watch?v=cVUVfn8OF5k", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052400_Recovering from AI Psychosis | TheStandup.mp4", false, 37, ~U[2026-05-24 13:00:26Z]] 06:48:27.171 [debug] QUERY OK source="sources" db=0.3ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:48:27.173 [debug] QUERY OK source="media_items" db=2.0ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-22 13:00:17Z], 37] 06:48:27.174 [debug] QUERY OK source="media_items" db=0.7ms idle=6.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\n## Sources\n\n- https://github.blog/security/investigating-unauthorized-access-to-githubs-internal-repositories/\n- https://techcrunch.com/2026/05/20/github-says-hackers-stole-data-from-thousands-of-internal-repositories/\n\n## Topics Covered\n\n- The latest in a series of Github Hacks\n- Security in the Age of Vibe-coding\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh [terminal.shop](http://terminal.shop/)\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Github’s Wildest Hack Yet", "af678159-8c8e-4bb0-803d-b90cbfea445c", "9tcLy9TnPDU", 643, false, "https://www.youtube.com/watch?v=9tcLy9TnPDU", 18, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052200_Github’s Wildest Hack Yet.mp4", false, false, false, 37, [], 98, ~U[2026-05-22 13:00:17Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\n## Sources\n\n- https://github.blog/security/investigating-unauthorized-access-to-githubs-internal-repositories/\n- https://techcrunch.com/2026/05/20/github-says-hackers-stole-data-from-thousands-of-internal-repositories/\n\n## Topics Covered\n\n- The latest in a series of Github Hacks\n- Security in the Age of Vibe-coding\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh [terminal.shop](http://terminal.shop/)\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Github’s Wildest Hack Yet", "9tcLy9TnPDU", 643, false, "https://www.youtube.com/watch?v=9tcLy9TnPDU", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052200_Github’s Wildest Hack Yet.mp4", false, 37, ~U[2026-05-22 13:00:17Z]] 06:48:27.175 [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" = ?) [37] 06:48:27.177 [debug] QUERY OK source="media_items" db=2.0ms 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-20 13:00:28Z], 37] 06:48:27.178 [debug] QUERY OK source="media_items" db=0.7ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/ctatedev/status/2055434061322039377\n- https://github.com/vercel-labs/zero\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Why Did They Build This?", "983d99c5-4222-407e-945f-2b5d7acbc066", "RnxTTF8x-24", 834, false, "https://www.youtube.com/watch?v=RnxTTF8x-24", 19, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052000_Why Did They Build This?.mp4", false, false, false, 37, [], 98, ~U[2026-05-20 13:00:28Z], ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/ctatedev/status/2055434061322039377\n- https://github.com/vercel-labs/zero\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Why Did They Build This?", "RnxTTF8x-24", 834, false, "https://www.youtube.com/watch?v=RnxTTF8x-24", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052000_Why Did They Build This?.mp4", false, 37, ~U[2026-05-20 13:00:28Z]] 06:48:27.178 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z], 37] 06:48:27.180 [debug] QUERY OK source="media_items" db=2.1ms idle=4.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [37] 06:48:27.196 [debug] QUERY OK source="media_items" db=2.2ms 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")))) [37] 06:48:27.196 [debug] QUERY OK source="media_items" db=0.1ms idle=4.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [37] 06:48:27.198 [debug] QUERY OK source="tasks" db=0.2ms idle=3.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419777, 37, ~U[2026-06-29 11:48:27Z], ~U[2026-06-29 11:48:27Z]] 06:48:27.198 [info] {"args":{"id":37},"id":419686,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":56386527,"event":"job:stop","queue_time":666065,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 06:48:52.387 [info] {"source":"oban","duration":7774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.011 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:49:22.396 [info] {"source":"oban","duration":8238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:31.996 [info] {"args":{"id":1499614},"id":417954,"meta":{},"system_time":1782733771996586674,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:49:31.997 [debug] QUERY OK source="media_items" db=0.1ms idle=55.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1499614] 06:49:31.997 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:49:31.997 [debug] QUERY OK source="sources" db=0.1ms idle=56.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:49:31.997 [debug] QUERY OK source="media_profiles" db=0.1ms idle=56.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:49:31.998 [debug] QUERY OK source="media_items" db=0.6ms 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 [1499614] 06:49:31.999 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1499614] 06:49:32.000 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:49:32.000 [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 [] 06:49:32.000 [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 [] 06:49:32.000 [debug] Running yt-dlp command for action: get_downloadable_status 06:49:32.002 [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 [] 06:49:32.002 [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 [] 06:49:32.002 [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 [] 06:49:32.002 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AewyclQ2nPg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/dd/9edde5908cd07d043ba5740df617c3eaad40c9321a6fea2f7eefb76e1dd06015.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:49:33.830 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AewyclQ2nPg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/dd/9edde5908cd07d043ba5740df617c3eaad40c9321a6fea2f7eefb76e1dd06015.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] AewyclQ2nPg: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:49:33.830 [error] yt-dlp download error for media item #1499614: "ERROR: [youtube] AewyclQ2nPg: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:49:33.831 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1499614},"id":417954,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1834530,"event":"job:exception","queue_time":940496,"attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:49:52.404 [info] {"source":"oban","duration":7931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:57.034 [info] {"args":{"id":1227404},"id":406070,"meta":{},"system_time":1782733797034816562,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":19,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:49:57.035 [debug] QUERY OK source="media_items" db=0.3ms idle=1093.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" = ?) [1227404] 06:49:57.035 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:49:57.035 [debug] QUERY OK source="sources" db=0.1ms idle=1010.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:49:57.036 [debug] QUERY OK source="media_profiles" db=0.1ms idle=94.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:49:57.036 [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 [1227404] 06:49:57.037 [debug] QUERY OK source="media_metadata" db=0.0ms 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" = ?) [1227404] 06:49:57.037 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:49:57.038 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:49:57.038 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:49:57.038 [debug] Running yt-dlp command for action: get_downloadable_status 06:49:57.039 [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 [] 06:49:57.039 [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 [] 06:49:57.039 [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 [] 06:49:57.039 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ezmXMfLe9N8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/33/21330e024daad02a8436993d1e0e9910184287f1beef299568f11309e83af965.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:49:58.857 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ezmXMfLe9N8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/33/21330e024daad02a8436993d1e0e9910184287f1beef299568f11309e83af965.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ezmXMfLe9N8: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:49:58.857 [error] yt-dlp download error for media item #1227404: "ERROR: [youtube] ezmXMfLe9N8: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:49:58.858 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1227404},"id":406070,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1823076,"event":"job:exception","queue_time":202776,"attempt":19,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:50:00.012 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:50:22.414 [info] {"source":"oban","duration":7657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:52.422 [info] {"source":"oban","duration":7480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.013 [info] {"source":"oban","duration":144,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:51:22.427 [info] {"source":"oban","duration":4792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:46.197 [info] {"args":{"id":382023},"id":412503,"meta":{},"system_time":1782733906197331803,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":18,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:51:46.198 [debug] QUERY OK source="media_items" db=0.5ms idle=256.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" = ?) [382023] 06:51:46.198 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:51:46.198 [debug] QUERY OK source="sources" db=0.1ms idle=257.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 06:51:46.198 [debug] QUERY OK source="media_profiles" db=0.1ms idle=257.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:51:46.199 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 [382023] 06:51:46.200 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.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" = ?) [382023] 06:51:46.200 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:51:46.201 [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 [] 06:51:46.201 [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 [] 06:51:46.201 [debug] Running yt-dlp command for action: get_downloadable_status 06:51:46.202 [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 [] 06:51:46.202 [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 [] 06:51:46.203 [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 [] 06:51:46.203 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JUmw6vfgdwA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/28/b9/28b98b29b4b0e6c09f07c13358978bb5ded85a3ffc413a8d140588c206a59b3f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:51:47.897 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JUmw6vfgdwA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/28/b9/28b98b29b4b0e6c09f07c13358978bb5ded85a3ffc413a8d140588c206a59b3f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] JUmw6vfgdwA: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:51:47.898 [error] yt-dlp download error for media item #382023: "ERROR: [youtube] JUmw6vfgdwA: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:51:47.898 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":382023},"id":412503,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1700822,"event":"job:exception","queue_time":761734,"attempt":18,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:51:52.436 [info] {"source":"oban","duration":8669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.014 [info] {"source":"oban","duration":310,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:52:22.444 [info] {"source":"oban","duration":7736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:52.451 [info] {"source":"oban","duration":5879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.015 [info] {"source":"oban","duration":161,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:53:15.328 [info] {"args":{"id":43},"id":419687,"meta":{},"system_time":1782733995328605114,"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"]} 06:53:15.329 [debug] QUERY OK source="sources" db=0.6ms idle=1386.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:15.330 [debug] QUERY OK source="settings" db=0.5ms idle=1387.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:53:15.336 [debug] QUERY OK source="media_items" db=6.2ms idle=1009.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [43] 06:53:15.338 [debug] QUERY OK source="media_items" db=1.5ms idle=14.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [43] 06:53:15.338 [debug] QUERY OK source="media_profiles" db=0.0ms idle=9.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:53:15.338 [debug] QUERY OK source="settings" db=0.0ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:53:15.338 [debug] QUERY OK source="settings" db=0.0ms 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 [] 06:53:15.342 [debug] QUERY OK source="media_items" db=2.4ms idle=3.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [43] 06:53:15.342 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 06:53:15.342 [debug] Current batch of media processed. Will check again in 1000ms 06:53:15.343 [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 [] 06:53:15.343 [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 [] 06:53:15.343 [debug] QUERY OK source="settings" db=0.0ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:53:15.343 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UC5UAwBUum7CPN5buc-_N1Fw --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/c6/60/c660e337aea99e4f49bd70ffb88d012606158b1583f60d6a1fc98bdf610cdcb9.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/e8/5d/e85d0f96a3aa4c9ffb69f17b8b1a4712206fb6ac77b5d2f69b31169d28591f95.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:53:16.344 [debug] Current batch of media processed. Will check again in 1000ms 06:53:17.345 [debug] Current batch of media processed. Will check again in 1000ms 06:53:18.346 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps\n00:00 Intro\n00:05 Valve removes 4k60 mention from the Steam machine page\n02:31 Some cool GNOME apps released and updated\n06:26 KDE whiteboard & new email Client\n08:39 New DirtyClone vulnerability\n\n\nLinks:\nValve removes 4k60 mention from the Steam machine page\nhttps://www.gamingonlinux.com/2026/06/valve-quietly-tweaked-the-steam-machine-details-removing-4k-gaming-at-60-fps/\n\nSome cool GNOME apps released and updated\nhttps://thisweek.gnome.org/posts/2026/06/twig-255/\n\nKDE whiteboard & new email Client\nhttps://linuxiac.com/meet-drawy-kde-infinite-whiteboard-app-for-linux/\nhttps://melia.buxjr.com/\n\nNew DirtyClone vulnerability\nhttps://linuxiac.com/linux-gets-dirty-again-dirtyclone-kernel-flaw-can-lead-to-local-root-access/", "duration" => 604, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability.NA", "id" => "MZq55vL2aGw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MZq55vL2aGw", "playlist_index" => 1, "timestamp" => 1782720190, "title" => "Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability", "upload_date" => "20260629"} 06:53:18.346 [debug] QUERY OK source="sources" db=0.2ms idle=1405.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:18.346 [debug] QUERY OK source="sources" db=0.1ms idle=1405.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:18.351 [debug] QUERY OK source="media_items" db=3.8ms idle=1406.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-29 08:03:10Z], 43] 06:53:18.353 [debug] QUERY OK source="media_items" db=2.1ms idle=1026.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps\n00:00 Intro\n00:05 Valve removes 4k60 mention from the Steam machine page\n02:31 Some cool GNOME apps released and updated\n06:26 KDE whiteboard & new email Client\n08:39 New DirtyClone vulnerability\n\n\nLinks:\nValve removes 4k60 mention from the Steam machine page\nhttps://www.gamingonlinux.com/2026/06/valve-quietly-tweaked-the-steam-machine-details-removing-4k-gaming-at-60-fps/\n\nSome cool GNOME apps released and updated\nhttps://thisweek.gnome.org/posts/2026/06/twig-255/\n\nKDE whiteboard & new email Client\nhttps://linuxiac.com/meet-drawy-kde-infinite-whiteboard-app-for-linux/\nhttps://melia.buxjr.com/\n\nNew DirtyClone vulnerability\nhttps://linuxiac.com/linux-gets-dirty-again-dirtyclone-kernel-flaw-can-lead-to-local-root-access/", "Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability", "417b41f0-2dd7-4d17-9a39-4ee74fcd730a", "MZq55vL2aGw", 604, false, "https://www.youtube.com/watch?v=MZq55vL2aGw", 1, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability.NA", false, false, false, 43, [], 97, ~U[2026-06-29 08:03:10Z], ~U[2026-06-29 11:53:18Z], ~U[2026-06-29 11:53:18Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps\n00:00 Intro\n00:05 Valve removes 4k60 mention from the Steam machine page\n02:31 Some cool GNOME apps released and updated\n06:26 KDE whiteboard & new email Client\n08:39 New DirtyClone vulnerability\n\n\nLinks:\nValve removes 4k60 mention from the Steam machine page\nhttps://www.gamingonlinux.com/2026/06/valve-quietly-tweaked-the-steam-machine-details-removing-4k-gaming-at-60-fps/\n\nSome cool GNOME apps released and updated\nhttps://thisweek.gnome.org/posts/2026/06/twig-255/\n\nKDE whiteboard & new email Client\nhttps://linuxiac.com/meet-drawy-kde-infinite-whiteboard-app-for-linux/\nhttps://melia.buxjr.com/\n\nNew DirtyClone vulnerability\nhttps://linuxiac.com/linux-gets-dirty-again-dirtyclone-kernel-flaw-can-lead-to-local-root-access/", "Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability", "MZq55vL2aGw", 604, false, "https://www.youtube.com/watch?v=MZq55vL2aGw", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability.NA", false, 43, ~U[2026-06-29 08:03:10Z]] 06:53:18.354 [debug] QUERY OK source="sources" db=0.5ms idle=28.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:18.354 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:53:18.355 [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 [3310881] 06:53:18.355 [info] Kicking off download for media item #3310881 (MZq55vL2aGw) 06:53:18.356 [debug] Current batch of media processed. Will check again in 1000ms 06:53:19.357 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n08:51 Steam machine", "duration" => 1565, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts.NA", "id" => "DYW5_dKatQU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DYW5_dKatQU", "playlist_index" => 2, "timestamp" => 1782716018, "title" => "Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts", "upload_date" => "20260629"} 06:53:19.357 [debug] QUERY OK source="sources" db=0.1ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:19.357 [debug] QUERY OK source="sources" db=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:19.361 [debug] QUERY OK source="media_items" db=3.6ms idle=1002.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-29 06:53:38Z], 43] 06:53:19.363 [debug] QUERY OK source="media_items" db=1.1ms idle=1005.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n08:51 Steam machine", "Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts", "6a8f93c1-fb6e-44f6-9cd8-c38f01aacf90", "DYW5_dKatQU", 1565, false, "https://www.youtube.com/watch?v=DYW5_dKatQU", 2, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts.NA", false, false, false, 43, [], 97, ~U[2026-06-29 06:53:38Z], ~U[2026-06-29 11:53:19Z], ~U[2026-06-29 11:53:19Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n08:51 Steam machine", "Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts", "DYW5_dKatQU", 1565, false, "https://www.youtube.com/watch?v=DYW5_dKatQU", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts.NA", false, 43, ~U[2026-06-29 06:53:38Z]] 06:53:19.363 [debug] QUERY OK source="sources" db=0.1ms idle=36.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:19.363 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:53:19.364 [debug] QUERY OK source="media_items" db=0.1ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3310636] 06:53:19.364 [info] Kicking off download for media item #3310636 (DYW5_dKatQU) 06:53:19.365 [debug] Current batch of media processed. Will check again in 1000ms 06:53:20.366 [debug] Current batch of media processed. Will check again in 1000ms 06:53:21.367 [debug] Current batch of media processed. Will check again in 1000ms 06:53:22.368 [debug] Current batch of media processed. Will check again in 1000ms 06:53:22.461 [info] {"source":"oban","duration":8625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:23.369 [debug] Current batch of media processed. Will check again in 1000ms 06:53:24.370 [debug] Current batch of media processed. Will check again in 1000ms 06:53:25.371 [debug] Current batch of media processed. Will check again in 1000ms 06:53:26.372 [debug] Current batch of media processed. Will check again in 1000ms 06:53:27.372 [debug] Current batch of media processed. Will check again in 1000ms 06:53:28.374 [debug] Current batch of media processed. Will check again in 1000ms 06:53:29.375 [debug] Current batch of media processed. Will check again in 1000ms 06:53:30.376 [debug] Current batch of media processed. Will check again in 1000ms 06:53:31.377 [debug] Current batch of media processed. Will check again in 1000ms 06:53:32.378 [debug] Current batch of media processed. Will check again in 1000ms 06:53:33.379 [debug] Current batch of media processed. Will check again in 1000ms 06:53:34.380 [debug] Current batch of media processed. Will check again in 1000ms 06:53:35.357 [info] {"args":{"id":51},"id":419763,"meta":{},"system_time":1782734015357058134,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:53:35.357 [debug] QUERY OK source="sources" db=0.3ms idle=416.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:53:35.358 [debug] QUERY OK source="settings" db=0.1ms idle=416.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:53:35.358 [debug] QUERY OK source="media_profiles" db=0.1ms idle=417.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:53:35.358 [debug] QUERY OK source="settings" db=0.5ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:53:35.358 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 06:53:35.381 [debug] Current batch of media processed. Will check again in 1000ms 06:53:35.542 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 06:53:35.543 [debug] QUERY OK source="media_items" db=0.6ms idle=185.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 06:53:35.544 [debug] QUERY OK source="media_items" db=0.3ms idle=186.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [51] 06:53:35.545 [debug] QUERY OK source="tasks" db=0.3ms idle=186.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419778, 51, ~U[2026-06-29 11:53:35Z], ~U[2026-06-29 11:53:35Z]] 06:53:35.545 [info] {"args":{"id":51},"id":419763,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":188422,"event":"job:stop","queue_time":695397,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:53:36.382 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Check out TuxCare's Endless Lifecycle Support for MinIO (and other distros and open source projects): https://tuxcare.com/endless-lifecycle-support/minio-eol-support/?utm_source=youtube&utm_medium=social&utm_campaign=ELS%20for%20MinIO&utm_term=The%20linux%20experiment\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\n#technews #linuxnews #linuxdesktop #linux\n\nTimestamps:\n00:00 Intro\n00:26 Sponsor: TuxCare\n01:33 Steam machine looks like a disappointment \n06:52 SteamOS 3.8 image supports all AMD PCs\n08:23 Epic Games open sources new version control system\n10:00 BcacheFS now no longer experimental\n11:26 XFCE has its first Wayland compositor\n12:37 Cosmic moves to version 1.1\n13:59 Wikipedia claps back against AI\n15:25 Wikipedia cofounder banned for canvassing\n18:55 Solution proposed to end all captchas\n21:11 New initiative for improve graphics end 3D software on Wayland\n23:16 GE Proton fixes all media related issues in games\n25:40 DXVK 3.0 gives big performance improvements\n28:05 Sponsor: Tuxedo Computers\n\n\nLinks\nSteam machine looks like a disappointment\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0\n\n#technews #linuxnews #linuxdesktop #linux", "duration" => 1797, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062700_Linux Weekly News - Epic Games made their own GIT.mp4", "id" => "p5aE1FpFmtY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=p5aE1FpFmtY", "playlist_index" => 3, "timestamp" => 1782552943, "title" => "Linux Weekly News - Epic Games made their own GIT", "upload_date" => "20260627"} 06:53:36.383 [debug] QUERY OK source="sources" db=0.4ms idle=837.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:36.383 [debug] QUERY OK source="sources" db=0.2ms idle=837.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:36.387 [debug] QUERY OK source="media_items" db=3.4ms idle=837.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-27 09:35:43Z], 43] 06:53:36.389 [debug] QUERY OK source="media_items" db=1.4ms idle=834.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Check out TuxCare's Endless Lifecycle Support for MinIO (and other distros and open source projects): https://tuxcare.com/endless-lifecycle-support/minio-eol-support/?utm_source=youtube&utm_medium=social&utm_campaign=ELS%20for%20MinIO&utm_term=The%20linux%20experiment\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\n#technews #linuxnews #linuxdesktop #linux\n\nTimestamps:\n00:00 Intro\n00:26 Sponsor: TuxCare\n01:33 Steam machine looks like a disappointment \n06:52 SteamOS 3.8 image supports all AMD PCs\n08:23 Epic Games open sources new version control system\n10:00 BcacheFS now no longer experimental\n11:26 XFCE has its first Wayland compositor\n12:37 Cosmic moves to version 1.1\n13:59 Wikipedia claps back against AI\n15:25 Wikipedia cofounder banned for canvassing\n18:55 Solution proposed to end all captchas\n21:11 New initiative for improve graphics end 3D software on Wayland\n23:16 GE Proton fixes all media related issues in games\n25:40 DXVK 3.0 gives big performance improvements\n28:05 Sponsor: Tuxedo Computers\n\n\nLinks\nSteam machine looks like a disappointment\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0\n\n#technews #linuxnews #linuxdesktop #linux", "Linux Weekly News - Epic Games made their own GIT", "0b088a22-c7f3-46b6-859a-41d3d17f59f2", "p5aE1FpFmtY", 1797, false, "https://www.youtube.com/watch?v=p5aE1FpFmtY", 3, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062700_Linux Weekly News - Epic Games made their own GIT.mp4", false, false, false, 43, [], 98, ~U[2026-06-27 09:35:43Z], ~U[2026-06-29 11:53:36Z], ~U[2026-06-29 11:53:36Z], "Check out TuxCare's Endless Lifecycle Support for MinIO (and other distros and open source projects): https://tuxcare.com/endless-lifecycle-support/minio-eol-support/?utm_source=youtube&utm_medium=social&utm_campaign=ELS%20for%20MinIO&utm_term=The%20linux%20experiment\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\n#technews #linuxnews #linuxdesktop #linux\n\nTimestamps:\n00:00 Intro\n00:26 Sponsor: TuxCare\n01:33 Steam machine looks like a disappointment \n06:52 SteamOS 3.8 image supports all AMD PCs\n08:23 Epic Games open sources new version control system\n10:00 BcacheFS now no longer experimental\n11:26 XFCE has its first Wayland compositor\n12:37 Cosmic moves to version 1.1\n13:59 Wikipedia claps back against AI\n15:25 Wikipedia cofounder banned for canvassing\n18:55 Solution proposed to end all captchas\n21:11 New initiative for improve graphics end 3D software on Wayland\n23:16 GE Proton fixes all media related issues in games\n25:40 DXVK 3.0 gives big performance improvements\n28:05 Sponsor: Tuxedo Computers\n\n\nLinks\nSteam machine looks like a disappointment\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0\n\n#technews #linuxnews #linuxdesktop #linux", "Linux Weekly News - Epic Games made their own GIT", "p5aE1FpFmtY", 1797, false, "https://www.youtube.com/watch?v=p5aE1FpFmtY", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2 (truncated) 06:53:36.389 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [43] 06:53:36.389 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:53:36.390 [debug] QUERY OK source="media_items" db=0.2ms idle=6.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 [3295586] 06:53:36.390 [debug] Current batch of media processed. Will check again in 1000ms 06:53:37.391 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 New initiative for improve graphics end 3D software on Wayland\n04:15 Purism releases Librem 16 laptop\n06:45 DXVK 3.0 gives big performance improvements\n\nLinks:\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nPurism releases Librem 16 laptop\nhttps://linuxiac.com/purisms-librem-16-brings-linux-privacy-hardware-at-a-premium-price/\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0", "duration" => 601, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062600_Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update.NA", "id" => "2irCIuypCN8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2irCIuypCN8", "playlist_index" => 4, "timestamp" => 1782461307, "title" => "Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update", "upload_date" => "20260626"} 06:53:37.392 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:37.393 [debug] QUERY OK source="sources" db=0.2ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:37.397 [debug] QUERY OK source="media_items" db=3.9ms idle=1003.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-26 08:08:27Z], 43] 06:53:37.398 [debug] QUERY OK source="media_items" db=0.7ms idle=1007.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 New initiative for improve graphics end 3D software on Wayland\n04:15 Purism releases Librem 16 laptop\n06:45 DXVK 3.0 gives big performance improvements\n\nLinks:\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nPurism releases Librem 16 laptop\nhttps://linuxiac.com/purisms-librem-16-brings-linux-privacy-hardware-at-a-premium-price/\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0", "Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update", "0fd8f45e-7bfa-46b9-b259-27b3324fe467", "2irCIuypCN8", 601, false, "https://www.youtube.com/watch?v=2irCIuypCN8", 4, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062600_Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update.NA", false, false, false, 43, [], 98, ~U[2026-06-26 08:08:27Z], ~U[2026-06-29 11:53:37Z], ~U[2026-06-29 11:53:37Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 New initiative for improve graphics end 3D software on Wayland\n04:15 Purism releases Librem 16 laptop\n06:45 DXVK 3.0 gives big performance improvements\n\nLinks:\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nPurism releases Librem 16 laptop\nhttps://linuxiac.com/purisms-librem-16-brings-linux-privacy-hardware-at-a-premium-price/\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0", "Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update", "2irCIuypCN8", 601, false, "https://www.youtube.com/watch?v=2irCIuypCN8", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062600_Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update.NA", false, 43, ~U[2026-06-26 08:08:27Z]] 06:53:37.399 [debug] QUERY OK source="sources" db=0.2ms idle=45.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:37.399 [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] 06:53:37.399 [debug] QUERY OK source="media_items" db=0.2ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3287051] 06:53:37.399 [info] Kicking off download for media item #3287051 (2irCIuypCN8) 06:53:37.400 [debug] Current batch of media processed. Will check again in 1000ms 06:53:38.402 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS 3.8 image supports all AMD PCs\n02:04 GE Proton fixes all media related issues in games\n06:44 Pine64 launches smart speaker for home assistant\n\n\n\nLinks\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nPine64 launches smart speaker for home assistant\nhttps://itsfoss.com/news/pinevoice-smart-speaker/", "duration" => 541, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062500_Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game.NA", "id" => "I_oGMKxAQxM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=I_oGMKxAQxM", "playlist_index" => 5, "timestamp" => 1782379401, "title" => "Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game", "upload_date" => "20260625"} 06:53:38.403 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:38.403 [debug] QUERY OK source="sources" db=0.1ms idle=1004.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:38.407 [debug] QUERY OK source="media_items" db=3.3ms idle=1004.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-25 09:23:21Z], 43] 06:53:38.408 [debug] QUERY OK source="media_items" db=0.7ms idle=1006.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS 3.8 image supports all AMD PCs\n02:04 GE Proton fixes all media related issues in games\n06:44 Pine64 launches smart speaker for home assistant\n\n\n\nLinks\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nPine64 launches smart speaker for home assistant\nhttps://itsfoss.com/news/pinevoice-smart-speaker/", "Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game", "660703f4-fe4c-41a9-846c-5899187d343f", "I_oGMKxAQxM", 541, false, "https://www.youtube.com/watch?v=I_oGMKxAQxM", 5, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062500_Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game.NA", false, false, false, 43, [], 98, ~U[2026-06-25 09:23:21Z], ~U[2026-06-29 11:53:38Z], ~U[2026-06-29 11:53:38Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS 3.8 image supports all AMD PCs\n02:04 GE Proton fixes all media related issues in games\n06:44 Pine64 launches smart speaker for home assistant\n\n\n\nLinks\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nPine64 launches smart speaker for home assistant\nhttps://itsfoss.com/news/pinevoice-smart-speaker/", "Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game", "I_oGMKxAQxM", 541, false, "https://www.youtube.com/watch?v=I_oGMKxAQxM", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062500_Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game.NA", false, 43, ~U[2026-06-25 09:23:21Z]] 06:53:38.408 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=52.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:38.409 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 06:53:38.409 [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 [3279630] 06:53:38.409 [info] Kicking off download for media item #3279630 (I_oGMKxAQxM) 06:53:38.411 [debug] Current batch of media processed. Will check again in 1000ms 06:53:39.412 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine seems disappointing for the price\n04:39 Cosmic moves to version 1.1\n06:02 Wikipedia cofounder banned for canvassing\n10:27 Solution proposed to end all captchas\n\nLinks:\n\nSteam machine seems disappointing for the price\nhttps://www.pcgamer.com/hardware/gaming-pcs/the-steam-machine-is-the-biggest-victim-of-the-rampocalypse-to-date-and-thats-made-me-unreasonably-annoyed/\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/", "duration" => 801, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062400_Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned.NA", "id" => "Z0vbXozyZ6Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Z0vbXozyZ6Q", "playlist_index" => 6, "timestamp" => 1782289628, "title" => "Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned", "upload_date" => "20260624"} 06:53:39.412 [debug] QUERY OK source="sources" db=0.2ms 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 (?)) [43] 06:53:39.413 [debug] QUERY OK source="sources" db=0.1ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:39.416 [debug] QUERY OK source="media_items" db=3.4ms idle=1003.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-24 08:27:08Z], 43] 06:53:39.418 [debug] QUERY OK source="media_items" db=1.0ms idle=1006.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine seems disappointing for the price\n04:39 Cosmic moves to version 1.1\n06:02 Wikipedia cofounder banned for canvassing\n10:27 Solution proposed to end all captchas\n\nLinks:\n\nSteam machine seems disappointing for the price\nhttps://www.pcgamer.com/hardware/gaming-pcs/the-steam-machine-is-the-biggest-victim-of-the-rampocalypse-to-date-and-thats-made-me-unreasonably-annoyed/\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/", "Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned", "d88d7f1d-f1f9-4903-b74e-0a42e0a72307", "Z0vbXozyZ6Q", 801, false, "https://www.youtube.com/watch?v=Z0vbXozyZ6Q", 6, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062400_Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned.NA", false, false, false, 43, [], 98, ~U[2026-06-24 08:27:08Z], ~U[2026-06-29 11:53:39Z], ~U[2026-06-29 11:53:39Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine seems disappointing for the price\n04:39 Cosmic moves to version 1.1\n06:02 Wikipedia cofounder banned for canvassing\n10:27 Solution proposed to end all captchas\n\nLinks:\n\nSteam machine seems disappointing for the price\nhttps://www.pcgamer.com/hardware/gaming-pcs/the-steam-machine-is-the-biggest-victim-of-the-rampocalypse-to-date-and-thats-made-me-unreasonably-annoyed/\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/", "Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned", "Z0vbXozyZ6Q", 801, false, "https://www.youtube.com/watch?v=Z0vbXozyZ6Q", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062400_Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned.NA", false, 43, ~U[2026-06-24 08:27:08Z]] 06:53:39.418 [debug] QUERY OK source="sources" db=0.1ms idle=61.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:39.418 [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] 06:53:39.419 [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 [3271507] 06:53:39.419 [info] Kicking off download for media item #3271507 (Z0vbXozyZ6Q) 06:53:39.420 [debug] Current batch of media processed. Will check again in 1000ms 06:53:40.422 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine launches for more than a 1000 bucks\n03:33 SteamOS ISO coming, but no date still\n05:57 XFCE has its first Wayland compositor\n07:37 NVK gets DLSS support\n08:37 Wikipedia claps back against AI\n\nLinks\nSteam machine launches for more than a 1000 bucks\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\n\nSteamOS ISO coming, but no date still\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nNVK gets DLSS support\nhttps://www.gamingonlinux.com/2026/06/the-open-source-nvidia-vulkan-driver-nvk-now-has-experimental-dlss-support/\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says", "duration" => 631, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062300_Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland.NA", "id" => "Rf5xQTtGy-A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Rf5xQTtGy-A", "playlist_index" => 7, "timestamp" => 1782201641, "title" => "Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland", "upload_date" => "20260623"} 06:53:40.422 [debug] QUERY OK source="sources" db=0.2ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:40.422 [debug] QUERY OK source="sources" db=0.1ms idle=1003.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:40.426 [debug] QUERY OK source="media_items" db=3.4ms idle=1003.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 08:00:41Z], 43] 06:53:40.427 [debug] QUERY OK source="media_items" db=0.8ms idle=1006.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine launches for more than a 1000 bucks\n03:33 SteamOS ISO coming, but no date still\n05:57 XFCE has its first Wayland compositor\n07:37 NVK gets DLSS support\n08:37 Wikipedia claps back against AI\n\nLinks\nSteam machine launches for more than a 1000 bucks\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\n\nSteamOS ISO coming, but no date still\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nNVK gets DLSS support\nhttps://www.gamingonlinux.com/2026/06/the-open-source-nvidia-vulkan-driver-nvk-now-has-experimental-dlss-support/\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says", "Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland", "7e42a158-0e63-43f2-a649-b942ed12ba3b", "Rf5xQTtGy-A", 631, false, "https://www.youtube.com/watch?v=Rf5xQTtGy-A", 7, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062300_Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland.NA", false, false, false, 43, [], 98, ~U[2026-06-23 08:00:41Z], ~U[2026-06-29 11:53:40Z], ~U[2026-06-29 11:53:40Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine launches for more than a 1000 bucks\n03:33 SteamOS ISO coming, but no date still\n05:57 XFCE has its first Wayland compositor\n07:37 NVK gets DLSS support\n08:37 Wikipedia claps back against AI\n\nLinks\nSteam machine launches for more than a 1000 bucks\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\n\nSteamOS ISO coming, but no date still\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nNVK gets DLSS support\nhttps://www.gamingonlinux.com/2026/06/the-open-source-nvidia-vulkan-driver-nvk-now-has-experimental-dlss-support/\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says", "Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland", "Rf5xQTtGy-A", 631, false, "https://www.youtube.com/watch?v=Rf5xQTtGy-A", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062300_Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland.NA", false, 43, ~U[2026-06-23 08:00:41Z]] 06:53:40.428 [debug] QUERY OK source="sources" db=0.2ms idle=69.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:40.428 [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] 06:53:40.428 [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 [3263547] 06:53:40.428 [info] Kicking off download for media item #3263547 (Rf5xQTtGy-A) 06:53:40.430 [debug] Current batch of media processed. Will check again in 1000ms 06:53:41.431 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:34 Postmarket OS updates Linux Phones\n03:03 KDE Goals is open for submissions\n05:15 BcacheFS now no longer experimental\n06:59 Epic Games open sources new version control system\n09:41 Mesa 26.2 improves frame pacing and stutters in game\n\nLinks\n\nPostmarket OS updates Linux Phones\nhttps://linuxiac.com/postmarketos-26-06-brings-fresh-linux-phone-updates/\n\nKDE Goals is open for submissions\nhttps://blogs.kde.org/2026/06/20/kde-goals-call-for-submissions/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nMesa 26.2 improves frame pacing and stutters in game\nhttps://www.phoronix.com/news/Mesa-26.2-X11-Present-Timing", "duration" => 678, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git.NA", "id" => "tXxYvOPlH1M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tXxYvOPlH1M", "playlist_index" => 8, "timestamp" => 1782116265, "title" => "Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git", "upload_date" => "20260622"} 06:53:41.431 [debug] QUERY OK source="sources" db=0.2ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:41.431 [debug] QUERY OK source="sources" db=0.1ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:41.435 [debug] QUERY OK source="media_items" db=3.4ms idle=1003.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-22 08:17:45Z], 43] 06:53:41.436 [debug] QUERY OK source="media_items" db=0.7ms idle=1005.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:34 Postmarket OS updates Linux Phones\n03:03 KDE Goals is open for submissions\n05:15 BcacheFS now no longer experimental\n06:59 Epic Games open sources new version control system\n09:41 Mesa 26.2 improves frame pacing and stutters in game\n\nLinks\n\nPostmarket OS updates Linux Phones\nhttps://linuxiac.com/postmarketos-26-06-brings-fresh-linux-phone-updates/\n\nKDE Goals is open for submissions\nhttps://blogs.kde.org/2026/06/20/kde-goals-call-for-submissions/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nMesa 26.2 improves frame pacing and stutters in game\nhttps://www.phoronix.com/news/Mesa-26.2-X11-Present-Timing", "Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git", "e7cb0588-37bb-4cda-9b93-d1a534dabf11", "tXxYvOPlH1M", 678, false, "https://www.youtube.com/watch?v=tXxYvOPlH1M", 8, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git.NA", false, false, false, 43, [], 97, ~U[2026-06-22 08:17:45Z], ~U[2026-06-29 11:53:41Z], ~U[2026-06-29 11:53:41Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:34 Postmarket OS updates Linux Phones\n03:03 KDE Goals is open for submissions\n05:15 BcacheFS now no longer experimental\n06:59 Epic Games open sources new version control system\n09:41 Mesa 26.2 improves frame pacing and stutters in game\n\nLinks\n\nPostmarket OS updates Linux Phones\nhttps://linuxiac.com/postmarketos-26-06-brings-fresh-linux-phone-updates/\n\nKDE Goals is open for submissions\nhttps://blogs.kde.org/2026/06/20/kde-goals-call-for-submissions/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nMesa 26.2 improves frame pacing and stutters in game\nhttps://www.phoronix.com/news/Mesa-26.2-X11-Present-Timing", "Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git", "tXxYvOPlH1M", 678, false, "https://www.youtube.com/watch?v=tXxYvOPlH1M", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git.NA", false, 43, ~U[2026-06-22 08:17:45Z]] 06:53:41.437 [debug] QUERY OK source="sources" db=0.1ms idle=76.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:41.437 [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] 06:53:41.437 [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 [3255584] 06:53:41.437 [info] Kicking off download for media item #3255584 (tXxYvOPlH1M) 06:53:41.440 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:50 Ubuntu Touch improvements\n10:13 GNOME Foundation issues", "duration" => 1377, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues.NA", "id" => "aXHR7jvC000", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aXHR7jvC000", "playlist_index" => 9, "timestamp" => 1782109590, "title" => "Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues", "upload_date" => "20260622"} 06:53:41.440 [debug] QUERY OK source="sources" db=0.0ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:41.440 [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" = ?) [43] 06:53:41.443 [debug] QUERY OK source="media_items" db=3.2ms 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-06-22 06:26:30Z], 43] 06:53:41.444 [debug] QUERY OK source="media_items" db=0.4ms idle=6.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:50 Ubuntu Touch improvements\n10:13 GNOME Foundation issues", "Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues", "762c0fcf-d3e9-4f0f-8731-ec5760163e63", "aXHR7jvC000", 1377, false, "https://www.youtube.com/watch?v=aXHR7jvC000", 9, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues.NA", false, false, false, 43, [], 97, ~U[2026-06-22 06:26:30Z], ~U[2026-06-29 11:53:41Z], ~U[2026-06-29 11:53:41Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:50 Ubuntu Touch improvements\n10:13 GNOME Foundation issues", "Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues", "aXHR7jvC000", 1377, false, "https://www.youtube.com/watch?v=aXHR7jvC000", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues.NA", false, 43, ~U[2026-06-22 06:26:30Z]] 06:53:41.444 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:41.445 [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] 06:53:41.445 [debug] QUERY OK source="media_items" db=0.1ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3255292] 06:53:41.445 [info] Kicking off download for media item #3255292 (aXHR7jvC000) 06:53:41.447 [debug] Current batch of media processed. Will check again in 1000ms 06:53:42.448 [debug] Current batch of media processed. Will check again in 1000ms 06:53:43.449 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT \n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:42 Sponsor: SquareSpace\n02:01 GNOME Foundation issues and lack of transparency\n09:34 AUR compromised with malware and spam\n12:57 Mozilla shares big Firefox roadmap\n15:54 X11 server rewritten using Rust and AI\n17:33 Linux kernel 7.1 released\n19:03 Chrome removes manifest v2 support entirely\n20:39 Firefox for Android will rely on Google Play integrity API\n22:29 Plasma 6.7 released\n24:27 SonicDE forks KDE into an X11 desktop\n26:24 More details on Ubuntu's AI features\n28:21 The EU won't stop killing videogames\n31:06 Sponsor: Tuxedo oOmputers\n\n\nLinks:\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31\n\nAUR compromised with malware and spam\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "duration" => 1979, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062000_Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles.mp4", "id" => "gxzle1WPTos", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gxzle1WPTos", "playlist_index" => 10, "timestamp" => 1781944568, "title" => "Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles", "upload_date" => "20260620"} 06:53:43.450 [debug] QUERY OK source="sources" db=0.3ms idle=508.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:43.450 [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" = ?) [43] 06:53:43.454 [debug] QUERY OK source="media_items" db=3.5ms 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-20 08:36:08Z], 43] 06:53:43.457 [debug] QUERY OK source="media_items" db=2.0ms idle=513.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT \n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:42 Sponsor: SquareSpace\n02:01 GNOME Foundation issues and lack of transparency\n09:34 AUR compromised with malware and spam\n12:57 Mozilla shares big Firefox roadmap\n15:54 X11 server rewritten using Rust and AI\n17:33 Linux kernel 7.1 released\n19:03 Chrome removes manifest v2 support entirely\n20:39 Firefox for Android will rely on Google Play integrity API\n22:29 Plasma 6.7 released\n24:27 SonicDE forks KDE into an X11 desktop\n26:24 More details on Ubuntu's AI features\n28:21 The EU won't stop killing videogames\n31:06 Sponsor: Tuxedo oOmputers\n\n\nLinks:\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31\n\nAUR compromised with malware and spam\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles", "369b6c57-2233-4c9a-b972-0b37139dbf9c", "gxzle1WPTos", 1979, false, "https://www.youtube.com/watch?v=gxzle1WPTos", 10, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062000_Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles.mp4", false, false, false, 43, [], 98, ~U[2026-06-20 08:36:08Z], ~U[2026-06-29 11:53:43Z], ~U[2026-06-29 11:53:43Z], "Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT \n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:42 Sponsor: SquareSpace\n02:01 GNOME Foundation issues and lack of transparency\n09:34 AUR compromised with malware and spam\n12:57 Mozilla shares big Firefox roadmap\n15:54 X11 server rewritten using Rust and AI\n17:33 Linux kernel 7.1 released\n19:03 Chrome removes manifest v2 support entirely\n20:39 Firefox for Android will rely on Google Play integrity API\n22:29 Plasma 6.7 released\n24:27 SonicDE forks KDE into an X11 desktop\n26:24 More details on Ubuntu's AI features\n28:21 The EU won't stop killing videogames\n31:06 Sponsor: Tuxedo oOmputers\n\n\nLinks:\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31\n\nAUR compromised with malware and spam\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles", "gxzle1WPTos", 1979, false, "https://www.youtube.com/watch?v=gxzle1WPTos", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062000_Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles.mp4", false, 43, ~U[2026-06-20 08:36:08Z]] 06:53:43.457 [debug] QUERY OK source="sources" db=0.1ms idle=94.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:43.457 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:53:43.457 [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 [3239878] 06:53:43.458 [debug] Current batch of media processed. Will check again in 1000ms 06:53:44.459 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS updates indicates Steam machine isn't far\n02:01 Mozilla shares big Firefox roadmap\n06:20 Ubuntu flavours now have to release betas\n\nLinks:\nSteamOS updates indicates Steam machine isn't far\nhttps://steamcommunity.com/games/1675200/announcements/detail/697641379212298073\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nUbuntu flavours now have to release betas\nhttps://lists.ubuntu.com/archives/ubuntu-release/2026-June/006814.html", "duration" => 561, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061900_Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap.NA", "id" => "WfFe2-Uy2Fo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WfFe2-Uy2Fo", "playlist_index" => 11, "timestamp" => 1781857449, "title" => "Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap", "upload_date" => "20260619"} 06:53:44.459 [debug] QUERY OK source="sources" db=0.2ms idle=1002.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:44.460 [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" = ?) [43] 06:53:44.463 [debug] QUERY OK source="media_items" db=3.5ms idle=1002.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-19 08:24:09Z], 43] 06:53:44.466 [debug] QUERY OK source="media_items" db=2.7ms idle=1005.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS updates indicates Steam machine isn't far\n02:01 Mozilla shares big Firefox roadmap\n06:20 Ubuntu flavours now have to release betas\n\nLinks:\nSteamOS updates indicates Steam machine isn't far\nhttps://steamcommunity.com/games/1675200/announcements/detail/697641379212298073\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nUbuntu flavours now have to release betas\nhttps://lists.ubuntu.com/archives/ubuntu-release/2026-June/006814.html", "Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap", "a544baf5-7f0f-4512-aabb-4af9944f77a0", "WfFe2-Uy2Fo", 561, false, "https://www.youtube.com/watch?v=WfFe2-Uy2Fo", 11, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061900_Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap.NA", false, false, false, 43, [], 98, ~U[2026-06-19 08:24:09Z], ~U[2026-06-29 11:53:44Z], ~U[2026-06-29 11:53:44Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS updates indicates Steam machine isn't far\n02:01 Mozilla shares big Firefox roadmap\n06:20 Ubuntu flavours now have to release betas\n\nLinks:\nSteamOS updates indicates Steam machine isn't far\nhttps://steamcommunity.com/games/1675200/announcements/detail/697641379212298073\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nUbuntu flavours now have to release betas\nhttps://lists.ubuntu.com/archives/ubuntu-release/2026-June/006814.html", "Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap", "WfFe2-Uy2Fo", 561, false, "https://www.youtube.com/watch?v=WfFe2-Uy2Fo", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061900_Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap.NA", false, 43, ~U[2026-06-19 08:24:09Z]] 06:53:44.467 [debug] QUERY OK source="sources" db=0.2ms idle=101.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:44.467 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 06:53:44.468 [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 [3231948] 06:53:44.468 [info] Kicking off download for media item #3231948 (WfFe2-Uy2Fo) 06:53:44.469 [debug] Current batch of media processed. Will check again in 1000ms 06:53:45.470 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Arch adds some security features to their AUR helper\n02:59 More details on Ubuntu's AI features\n05:17 Wine Wayland driver makes progress\n07:44 Audacity 4 beta released\n\nLinks:\nArch adds some security features to their AUR helper\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nWine Wayland driver makes progress\nhttps://www.phoronix.com/news/Wine-11.11-Released\nhttps://gitlab.winehq.org/wine/wine/-/merge_requests/11101\n\nAudacity 4 beta released\nhttps://www.omgubuntu.co.uk/2026/06/audacity-4-0-beta", "duration" => 650, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061800_Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4.NA", "id" => "10t33nUtCow", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=10t33nUtCow", "playlist_index" => 12, "timestamp" => 1781767689, "title" => "Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4", "upload_date" => "20260618"} 06:53:45.470 [debug] QUERY OK source="sources" db=0.2ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:45.471 [debug] QUERY OK source="sources" db=0.1ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:45.475 [debug] QUERY OK source="media_items" db=3.9ms idle=1003.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-18 07:28:09Z], 43] 06:53:45.476 [debug] QUERY OK source="media_items" db=0.9ms idle=1005.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Arch adds some security features to their AUR helper\n02:59 More details on Ubuntu's AI features\n05:17 Wine Wayland driver makes progress\n07:44 Audacity 4 beta released\n\nLinks:\nArch adds some security features to their AUR helper\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nWine Wayland driver makes progress\nhttps://www.phoronix.com/news/Wine-11.11-Released\nhttps://gitlab.winehq.org/wine/wine/-/merge_requests/11101\n\nAudacity 4 beta released\nhttps://www.omgubuntu.co.uk/2026/06/audacity-4-0-beta", "Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4", "43fab7a4-c4d7-4073-8726-c37cbb137fce", "10t33nUtCow", 650, false, "https://www.youtube.com/watch?v=10t33nUtCow", 12, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061800_Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4.NA", false, false, false, 43, [], 98, ~U[2026-06-18 07:28:09Z], ~U[2026-06-29 11:53:45Z], ~U[2026-06-29 11:53:45Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Arch adds some security features to their AUR helper\n02:59 More details on Ubuntu's AI features\n05:17 Wine Wayland driver makes progress\n07:44 Audacity 4 beta released\n\nLinks:\nArch adds some security features to their AUR helper\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nWine Wayland driver makes progress\nhttps://www.phoronix.com/news/Wine-11.11-Released\nhttps://gitlab.winehq.org/wine/wine/-/merge_requests/11101\n\nAudacity 4 beta released\nhttps://www.omgubuntu.co.uk/2026/06/audacity-4-0-beta", "Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4", "10t33nUtCow", 650, false, "https://www.youtube.com/watch?v=10t33nUtCow", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061800_Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4.NA", false, 43, ~U[2026-06-18 07:28:09Z]] 06:53:45.477 [debug] QUERY OK source="sources" db=0.2ms idle=110.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:45.477 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:53:45.477 [debug] QUERY OK source="media_items" db=0.1ms 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 [3223700] 06:53:45.477 [info] Kicking off download for media item #3223700 (10t33nUtCow) 06:53:45.479 [debug] Current batch of media processed. Will check again in 1000ms 06:53:46.480 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Plasma 6.7 released\n03:18 Big update on Oxygen and Air theme for KDE\n06:12 AUR infected by spam messages and insults\n08:09 The EU won't stop killing videogames\n\nLinks:\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nBig update on Oxygen and Air theme for KDE\nhttps://filipfila.wordpress.com/2026/06/16/oxygen-6-7-is-here-a-breath-of-fresh-air-for-kdes-classic-theme/\n\nAUR infected by spam messages and insults\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "duration" => 729, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061700_Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames.NA", "id" => "VgRZUNhID6w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VgRZUNhID6w", "playlist_index" => 13, "timestamp" => 1781692497, "title" => "Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames", "upload_date" => "20260617"} 06:53:46.481 [debug] QUERY OK source="sources" db=0.2ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:46.481 [debug] QUERY OK source="sources" db=0.1ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:46.486 [debug] QUERY OK source="media_items" db=4.5ms idle=1003.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-17 10:34:57Z], 43] 06:53:46.487 [debug] QUERY OK source="media_items" db=1.0ms idle=1006.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Plasma 6.7 released\n03:18 Big update on Oxygen and Air theme for KDE\n06:12 AUR infected by spam messages and insults\n08:09 The EU won't stop killing videogames\n\nLinks:\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nBig update on Oxygen and Air theme for KDE\nhttps://filipfila.wordpress.com/2026/06/16/oxygen-6-7-is-here-a-breath-of-fresh-air-for-kdes-classic-theme/\n\nAUR infected by spam messages and insults\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames", "7bb6a46c-6ea7-4beb-b716-717397f80240", "VgRZUNhID6w", 729, false, "https://www.youtube.com/watch?v=VgRZUNhID6w", 13, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061700_Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames.NA", false, false, false, 43, [], 98, ~U[2026-06-17 10:34:57Z], ~U[2026-06-29 11:53:46Z], ~U[2026-06-29 11:53:46Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Plasma 6.7 released\n03:18 Big update on Oxygen and Air theme for KDE\n06:12 AUR infected by spam messages and insults\n08:09 The EU won't stop killing videogames\n\nLinks:\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nBig update on Oxygen and Air theme for KDE\nhttps://filipfila.wordpress.com/2026/06/16/oxygen-6-7-is-here-a-breath-of-fresh-air-for-kdes-classic-theme/\n\nAUR infected by spam messages and insults\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames", "VgRZUNhID6w", 729, false, "https://www.youtube.com/watch?v=VgRZUNhID6w", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061700_Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames.NA", false, 43, ~U[2026-06-17 10:34:57Z]] 06:53:46.487 [debug] QUERY OK source="sources" db=0.2ms idle=120.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:46.488 [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] 06:53:46.488 [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 [3216892] 06:53:46.488 [info] Kicking off download for media item #3216892 (VgRZUNhID6w) 06:53:46.489 [debug] Current batch of media processed. Will check again in 1000ms 06:53:47.491 [debug] Current batch of media processed. Will check again in 1000ms 06:53:48.492 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Try out Joplin, one of the best Open Source Note taking apps: https://joplinapp.org/?source=TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:29 Sponsor: Joplin\n01:57 Per Monitor desktops\n03:16 Performance improvements\n04:18 Visual changes\n07:38 Better Keyboard input\n08:55 Plasma Widgets\n12:54 Global Push to Talk & other changes\n15:36 Kwin Changes & Wayland support\n19:12 Settings changes\n20:54 App Changes\n23:18 Conclusion\n24:45 Sponsor: Tuxedo Computers\n\n#linuxdesktop #kdeplasma #linuxdistro", "duration" => 1574, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_KDE Plasma 6.7 review: still the best Linux Desktop IMO.mp4", "id" => "5qJSapprdSQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5qJSapprdSQ", "playlist_index" => 14, "timestamp" => 1781608316, "title" => "KDE Plasma 6.7 review: still the best Linux Desktop IMO", "upload_date" => "20260616"} 06:53:48.493 [debug] QUERY OK source="sources" db=0.3ms idle=551.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:48.493 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=552.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:48.497 [debug] QUERY OK source="media_items" db=3.4ms idle=552.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-16 11:11:56Z], 43] 06:53:48.517 [debug] QUERY OK source="media_items" db=20.1ms idle=556.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try out Joplin, one of the best Open Source Note taking apps: https://joplinapp.org/?source=TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:29 Sponsor: Joplin\n01:57 Per Monitor desktops\n03:16 Performance improvements\n04:18 Visual changes\n07:38 Better Keyboard input\n08:55 Plasma Widgets\n12:54 Global Push to Talk & other changes\n15:36 Kwin Changes & Wayland support\n19:12 Settings changes\n20:54 App Changes\n23:18 Conclusion\n24:45 Sponsor: Tuxedo Computers\n\n#linuxdesktop #kdeplasma #linuxdistro", "KDE Plasma 6.7 review: still the best Linux Desktop IMO", "542e676a-6148-4865-8073-ac8e947d38d7", "5qJSapprdSQ", 1574, false, "https://www.youtube.com/watch?v=5qJSapprdSQ", 14, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_KDE Plasma 6.7 review: still the best Linux Desktop IMO.mp4", false, false, false, 43, [], 97, ~U[2026-06-16 11:11:56Z], ~U[2026-06-29 11:53:48Z], ~U[2026-06-29 11:53:48Z], "Try out Joplin, one of the best Open Source Note taking apps: https://joplinapp.org/?source=TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:29 Sponsor: Joplin\n01:57 Per Monitor desktops\n03:16 Performance improvements\n04:18 Visual changes\n07:38 Better Keyboard input\n08:55 Plasma Widgets\n12:54 Global Push to Talk & other changes\n15:36 Kwin Changes & Wayland support\n19:12 Settings changes\n20:54 App Changes\n23:18 Conclusion\n24:45 Sponsor: Tuxedo Computers\n\n#linuxdesktop #kdeplasma #linuxdistro", "KDE Plasma 6.7 review: still the best Linux Desktop IMO", "5qJSapprdSQ", 1574, false, "https://www.youtube.com/watch?v=5qJSapprdSQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_KDE Plasma 6.7 review: still the best Linux Desktop IMO.mp4", false, 43, ~U[2026-06-16 11:11:56Z]] 06:53:48.518 [debug] QUERY OK source="sources" db=0.4ms idle=148.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:48.518 [debug] QUERY OK source="media_profiles" db=0.1ms idle=25.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:53:48.519 [debug] QUERY OK source="media_items" db=0.2ms idle=25.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 [3209205] 06:53:48.519 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine release date leaked\n01:40 Ubuntu Touch update fixes some of the problems I had\n03:41 SonicDE forks KDE into an X11 desktop\n05:51 GNOME Foundation issues and lack of transparency\n\nLinks:\nSteam machine release date leaked\nhttps://goodtech.info/valve-steamos-beta-leak-hardware-steam-machine/\n\nUbuntu Touch update fixes some of the problems I had\nhttps://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-2-0-beta-is-now-ready-for-testing-4000\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31", "duration" => 918, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_Daily Linux News - S03E112 - My take on the GNOME Foundation stuff.NA", "id" => "8IB2ysqfIps", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8IB2ysqfIps", "playlist_index" => 15, "timestamp" => 1781597086, "title" => "Daily Linux News - S03E112 - My take on the GNOME Foundation stuff", "upload_date" => "20260616"} 06:53:48.520 [debug] QUERY OK source="sources" db=0.5ms idle=22.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:48.520 [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" = ?) [43] 06:53:48.523 [debug] QUERY OK source="media_items" db=3.0ms 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-16 08:04:46Z], 43] 06:53:48.527 [debug] QUERY OK source="media_items" db=4.1ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine release date leaked\n01:40 Ubuntu Touch update fixes some of the problems I had\n03:41 SonicDE forks KDE into an X11 desktop\n05:51 GNOME Foundation issues and lack of transparency\n\nLinks:\nSteam machine release date leaked\nhttps://goodtech.info/valve-steamos-beta-leak-hardware-steam-machine/\n\nUbuntu Touch update fixes some of the problems I had\nhttps://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-2-0-beta-is-now-ready-for-testing-4000\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31", "Daily Linux News - S03E112 - My take on the GNOME Foundation stuff", "efe88933-005b-4e9c-b951-b3cc4131cfd4", "8IB2ysqfIps", 918, false, "https://www.youtube.com/watch?v=8IB2ysqfIps", 15, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_Daily Linux News - S03E112 - My take on the GNOME Foundation stuff.NA", false, false, false, 43, [], 97, ~U[2026-06-16 08:04:46Z], ~U[2026-06-29 11:53:48Z], ~U[2026-06-29 11:53:48Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine release date leaked\n01:40 Ubuntu Touch update fixes some of the problems I had\n03:41 SonicDE forks KDE into an X11 desktop\n05:51 GNOME Foundation issues and lack of transparency\n\nLinks:\nSteam machine release date leaked\nhttps://goodtech.info/valve-steamos-beta-leak-hardware-steam-machine/\n\nUbuntu Touch update fixes some of the problems I had\nhttps://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-2-0-beta-is-now-ready-for-testing-4000\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31", "Daily Linux News - S03E112 - My take on the GNOME Foundation stuff", "8IB2ysqfIps", 918, false, "https://www.youtube.com/watch?v=8IB2ysqfIps", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_Daily Linux News - S03E112 - My take on the GNOME Foundation stuff.NA", false, 43, ~U[2026-06-16 08:04:46Z]] 06:53:48.528 [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" = ?) [43] 06:53:48.528 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:53:48.528 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [3208372] 06:53:48.529 [info] Kicking off download for media item #3208372 (8IB2ysqfIps) 06:53:48.530 [debug] Current batch of media processed. Will check again in 1000ms 06:53:49.531 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:20 X11 server rewritten using Rust and AI\n02:47 LadyBird browser shuts down external contributions\n04:45 Document Foundation keeps attacking other suites\n10:07 1500 AUR packages compromised\n13:12 Fedora bug tracker gets infected by an AI bot\n15:20 Microsoft's SecureBoot key expires, action might be required\n17:31 Linux kernel 7.1 released\n19:12 eOS 4.0 adds a ton of stuff to the degoogled ROM\n22:57 Chrome removes manifest v2 support entirely\n24:14 Firefox for Android will rely on Google Play integrity API\n\nLinks:\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLadyBird browser shuts down external contributions\nhttps://ladybird.org/posts/changing-how-we-develop-ladybird/\n\nDocument Foundation keeps attacking other suites\nhttps://www.omgubuntu.co.uk/2026/06/libreoffice-tabbed-ui-backgrounds\nhttps://blog.documentfoundation.org/blog/2026/06/08/an-open-letter/\n\n1500 AUR packages compromised\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\n\nFedora bug tracker gets infected by an AI bot\nhttps://itsfoss.com/news/fedora-bug-tracker-infiltrated-by-ai-agent/\n\nMicrosoft's SecureBoot key expires, action might be required\nhttps://fedoramagazine.org/expiration-of-microsoft-secure-boot-keys/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\neOS 4.0 adds a ton of stuff to the degoogled ROM\nhttps://murena.com/meet-e-os-4-0/\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity", "duration" => 1664, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Daily Linux News - S03E111 - A big catchup episode !.NA", "id" => "KjC4jWQwxhc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KjC4jWQwxhc", "playlist_index" => 16, "timestamp" => 1781521886, "title" => "Daily Linux News - S03E111 - A big catchup episode !", "upload_date" => "20260615"} 06:53:49.531 [debug] QUERY OK source="sources" db=0.2ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:49.532 [debug] QUERY OK source="sources" db=0.1ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:49.537 [debug] QUERY OK source="media_items" db=4.9ms idle=1003.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-15 11:11:26Z], 43] 06:53:49.538 [debug] QUERY OK source="media_items" db=1.1ms idle=1007.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:20 X11 server rewritten using Rust and AI\n02:47 LadyBird browser shuts down external contributions\n04:45 Document Foundation keeps attacking other suites\n10:07 1500 AUR packages compromised\n13:12 Fedora bug tracker gets infected by an AI bot\n15:20 Microsoft's SecureBoot key expires, action might be required\n17:31 Linux kernel 7.1 released\n19:12 eOS 4.0 adds a ton of stuff to the degoogled ROM\n22:57 Chrome removes manifest v2 support entirely\n24:14 Firefox for Android will rely on Google Play integrity API\n\nLinks:\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLadyBird browser shuts down external contributions\nhttps://ladybird.org/posts/changing-how-we-develop-ladybird/\n\nDocument Foundation keeps attacking other suites\nhttps://www.omgubuntu.co.uk/2026/06/libreoffice-tabbed-ui-backgrounds\nhttps://blog.documentfoundation.org/blog/2026/06/08/an-open-letter/\n\n1500 AUR packages compromised\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\n\nFedora bug tracker gets infected by an AI bot\nhttps://itsfoss.com/news/fedora-bug-tracker-infiltrated-by-ai-agent/\n\nMicrosoft's SecureBoot key expires, action might be required\nhttps://fedoramagazine.org/expiration-of-microsoft-secure-boot-keys/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\neOS 4.0 adds a ton of stuff to the degoogled ROM\nhttps://murena.com/meet-e-os-4-0/\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity", "Daily Linux News - S03E111 - A big catchup episode !", "ba0248c6-67af-4333-8a2d-e83552e43f21", "KjC4jWQwxhc", 1664, false, "https://www.youtube.com/watch?v=KjC4jWQwxhc", 16, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Daily Linux News - S03E111 - A big catchup episode !.NA", false, false, false, 43, [], 97, ~U[2026-06-15 11:11:26Z], ~U[2026-06-29 11:53:49Z], ~U[2026-06-29 11:53:49Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:20 X11 server rewritten using Rust and AI\n02:47 LadyBird browser shuts down external contributions\n04:45 Document Foundation keeps attacking other suites\n10:07 1500 AUR packages compromised\n13:12 Fedora bug tracker gets infected by an AI bot\n15:20 Microsoft's SecureBoot key expires, action might be required\n17:31 Linux kernel 7.1 released\n19:12 eOS 4.0 adds a ton of stuff to the degoogled ROM\n22:57 Chrome removes manifest v2 support entirely\n24:14 Firefox for Android will rely on Google Play integrity API\n\nLinks:\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLadyBird browser shuts down external contributions\nhttps://ladybird.org/posts/changing-how-we-develop-ladybird/\n\nDocument Foundation keeps attacking other suites\nhttps://www.omgubuntu.co.uk/2026/06/libreoffice-tabbed-ui-backgrounds\nhttps://blog.documentfoundation.org/blog/2026/06/08/an-open-letter/\n\n1500 AUR packages compromised\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\n\nFedora bug tracker gets infected by an AI bot\nhttps://itsfoss.com/news/fedora-bug-tracker-infiltrated-by-ai-agent/\n\nMicrosoft's SecureBoot key expires, action might be required\nhttps://fedoramagazine.org/expiration-of-microsoft-secure-boot-keys/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\neOS 4.0 adds a ton of stuff to the degoogled ROM\nhttps://murena.com/meet-e-os-4-0/\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity", "Daily Linux News - S03E111 - A big catchup episode !", "KjC4jWQwxhc", 1664, false, "https://www.youtube.com/watch?v=KjC4jWQwxhc", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Daily Linux News - S03E111 - A big catchup episode !.NA", false, 43, ~U[2026-06-15 11:11:26Z]] 06:53:49.539 [debug] QUERY OK source="sources" db=0.2ms idle=167.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:49.539 [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] 06:53:49.539 [debug] QUERY OK source="media_items" db=0.1ms 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 [3201242] 06:53:49.539 [info] Kicking off download for media item #3201242 (KjC4jWQwxhc) 06:53:49.541 [debug] Current batch of media processed. Will check again in 1000ms 06:53:50.542 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestmaps:\n00:00 Intro\n00:05 My vacation\n11:30 2 Weeks with Ubuntu Touch", "duration" => 1642, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch.NA", "id" => "cPhk9LaU24M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cPhk9LaU24M", "playlist_index" => 17, "timestamp" => 1781512587, "title" => "Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch", "upload_date" => "20260615"} 06:53:50.542 [debug] QUERY OK source="sources" db=0.2ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:50.543 [debug] QUERY OK source="sources" db=0.1ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:50.546 [debug] QUERY OK source="media_items" db=3.5ms 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[2026-06-15 08:36:27Z], 43] 06:53:50.547 [debug] QUERY OK source="media_items" db=0.6ms idle=1006.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestmaps:\n00:00 Intro\n00:05 My vacation\n11:30 2 Weeks with Ubuntu Touch", "Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch", "88c6d523-7dc4-4c44-ae7f-bbf18cda9daf", "cPhk9LaU24M", 1642, false, "https://www.youtube.com/watch?v=cPhk9LaU24M", 17, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch.NA", false, false, false, 43, [], 97, ~U[2026-06-15 08:36:27Z], ~U[2026-06-29 11:53:50Z], ~U[2026-06-29 11:53:50Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestmaps:\n00:00 Intro\n00:05 My vacation\n11:30 2 Weeks with Ubuntu Touch", "Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch", "cPhk9LaU24M", 1642, false, "https://www.youtube.com/watch?v=cPhk9LaU24M", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch.NA", false, 43, ~U[2026-06-15 08:36:27Z]] 06:53:50.547 [debug] QUERY OK source="sources" db=0.1ms idle=175.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:50.548 [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] 06:53:50.548 [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 [3200392] 06:53:50.548 [info] Kicking off download for media item #3200392 (cPhk9LaU24M) 06:53:50.550 [debug] Current batch of media processed. Will check again in 1000ms 06:53:51.551 [debug] Current batch of media processed. Will check again in 1000ms 06:53:52.381 [info] {"args":{"id":45},"id":419689,"meta":{},"system_time":1782734032381073065,"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"]} 06:53:52.381 [debug] QUERY OK source="sources" db=0.1ms idle=440.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:53:52.382 [debug] QUERY OK source="settings" db=0.1ms idle=440.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:53:52.384 [debug] QUERY OK source="media_items" db=1.9ms idle=441.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")))) [45] 06:53:52.385 [debug] QUERY OK source="media_items" db=0.9ms idle=9.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [45] 06:53:52.385 [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] 06:53:52.385 [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 [] 06:53:52.386 [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 [] 06:53:52.388 [debug] QUERY OK source="media_items" db=1.4ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [45] 06:53:52.389 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 06:53:52.389 [debug] Current batch of media processed. Will check again in 1000ms 06:53:52.390 [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 [] 06:53:52.390 [debug] QUERY OK source="settings" db=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:53:52.390 [debug] QUERY OK source="settings" db=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:53:52.390 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/channel/UC7YOGHUfC1Tb6E4pudI9STA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/40/bb/40bb6c3fb981ff4ee63a5865f306888fe6e3b4b2eae4f2516170ca0b7248fa91.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ef/06/ef06a8f82339e28679c21fa8e43304119de4b6c0fa657be4aa8bd68d658aad67.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:53:52.471 [info] {"source":"oban","duration":8972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:53:52.551 [debug] Current batch of media processed. Will check again in 1000ms 06:53:53.391 [debug] Current batch of media processed. Will check again in 1000ms 06:53:53.553 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Use a secure, encrypted, and fast VPN with Proton VPN: https://protonvpn.com/TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:43 Sponsor: ProtonVPN\n01:41 Mouse Tiler: auto-tiling for KDE\n06:35 Other Scripts\n08:00 Plasma Layout & Applets\n11:43 Themes & Icons\n15:57 Activities\n18:46 Sponsor: Tuxedo Computers\n\n#kdeplasma #linuxdesktop #ricing", "duration" => 1194, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061100_How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites...mp4", "id" => "UUn-7H35cFQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UUn-7H35cFQ", "playlist_index" => 18, "timestamp" => 1781176430, "title" => "How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites..", "upload_date" => "20260611"} 06:53:53.553 [debug] QUERY OK source="sources" db=0.2ms idle=1163.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:53.554 [debug] QUERY OK source="sources" db=0.2ms idle=1163.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:53.557 [debug] QUERY OK source="media_items" db=3.3ms idle=1164.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-11 11:13:50Z], 43] 06:53:53.559 [debug] QUERY OK source="media_items" db=0.9ms idle=1086.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use a secure, encrypted, and fast VPN with Proton VPN: https://protonvpn.com/TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:43 Sponsor: ProtonVPN\n01:41 Mouse Tiler: auto-tiling for KDE\n06:35 Other Scripts\n08:00 Plasma Layout & Applets\n11:43 Themes & Icons\n15:57 Activities\n18:46 Sponsor: Tuxedo Computers\n\n#kdeplasma #linuxdesktop #ricing", "How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites..", "1ac36456-f502-4b04-8149-ee08f83edb0b", "UUn-7H35cFQ", 1194, false, "https://www.youtube.com/watch?v=UUn-7H35cFQ", 18, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061100_How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites...mp4", false, false, false, 43, [], 98, ~U[2026-06-11 11:13:50Z], ~U[2026-06-29 11:53:53Z], ~U[2026-06-29 11:53:53Z], "Use a secure, encrypted, and fast VPN with Proton VPN: https://protonvpn.com/TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:43 Sponsor: ProtonVPN\n01:41 Mouse Tiler: auto-tiling for KDE\n06:35 Other Scripts\n08:00 Plasma Layout & Applets\n11:43 Themes & Icons\n15:57 Activities\n18:46 Sponsor: Tuxedo Computers\n\n#kdeplasma #linuxdesktop #ricing", "How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites..", "UUn-7H35cFQ", 1194, false, "https://www.youtube.com/watch?v=UUn-7H35cFQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061100_How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites...mp4", false, 43, ~U[2026-06-11 11:13:50Z]] 06:53:53.559 [debug] QUERY OK source="sources" db=0.1ms idle=183.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:53.559 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:53:53.559 [debug] QUERY OK source="media_items" db=0.1ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3169652] 06:53:53.559 [debug] Current batch of media processed. Will check again in 1000ms 06:53:54.392 [debug] Current batch of media processed. Will check again in 1000ms 06:53:54.561 [debug] Current batch of media processed. Will check again in 1000ms 06:53:55.394 [debug] Current batch of media processed. Will check again in 1000ms 06:53:55.562 [debug] Current batch of media processed. Will check again in 1000ms 06:53:56.396 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how apps on smartTV's are being used to setup stealthy residential proxies to support botnets using the TV owners home internet connection.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 617, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e062500_Your TV Might Be Part Of A Botnet.mp4", "id" => "tu4pvV9pqoY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tu4pvV9pqoY", "playlist_index" => 1, "timestamp" => 1782430242, "title" => "Your TV Might Be Part Of A Botnet", "upload_date" => "20260625"} 06:53:56.396 [debug] QUERY OK source="sources" db=0.1ms idle=1455.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:53:56.396 [debug] QUERY OK source="sources" db=0.1ms idle=1455.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:53:56.398 [debug] QUERY OK source="media_items" db=1.3ms idle=1455.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-25 23:30:42Z], 45] 06:53:56.399 [debug] QUERY OK source="media_items" db=0.7ms idle=1018.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how apps on smartTV's are being used to setup stealthy residential proxies to support botnets using the TV owners home internet connection.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your TV Might Be Part Of A Botnet", "8ea6ca24-5a82-4439-9642-470a5c3ecf36", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", 1, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e062500_Your TV Might Be Part Of A Botnet.mp4", false, false, false, 45, [], 98, ~U[2026-06-25 23:30:42Z], ~U[2026-06-29 11:53:56Z], ~U[2026-06-29 11:53:56Z], "In this video I discuss how apps on smartTV's are being used to setup stealthy residential proxies to support botnets using the TV owners home internet connection.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your TV Might Be Part Of A Botnet", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e062500_Your TV Might Be Part Of A Botnet.mp4", false, 45, ~U[2026-06-25 23:30:42Z]] 06:53:56.400 [debug] QUERY OK source="sources" db=0.5ms idle=19.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 06:53:56.400 [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] 06:53:56.400 [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 [3284625] 06:53:56.400 [debug] Current batch of media processed. Will check again in 1000ms 06:53:56.564 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:45 Sponsor: SquareSpace\n02:21 EU parliament ditches Google for Qwant\n03:47 EU unveils their plan to ditch Big Tech\n07:12 Brave launches debloated version for $60USD\n09:33 Canonical takes over the maintenance of Flutter on Desktop\n11:08 Ubuntu has a big desktop roadmap\n16:00 X11 disappears in 5 months on Plasma\n17:56 Acer launches Debian based handheld\n19:16 Microsoft adds the Linux core utilities to Windows\n20:34 Microsoft will de-activate older Office suites people bought\n22:09 Steam machine and Frame planned for summer release\n23:26 Proton Drive gets faster + Linux client in the works\n24:49 UK orders Google to have attribution and opt-outs for AI summaries\n28:03 Sponsor: Tuxedo Computers\n\nLinks:\nEU parliament ditches Google for Qwant\nhttps://www.politico.eu/article/european-parliament-ditches-google-for-french-search-engine/\n\nEU unveils their plan to ditch Big Tech\nhttps://www.politico.eu/article/eu-plots-long-game-against-us-digital-supremacy/\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/\n\nCanonical takes over the maintenance of Flutter on Desktop\nhttps://www.omgubuntu.co.uk/2026/05/flutter-desktop-canonical-maintained\n\nUbuntu has a big desktop roadmap\nhttps://www.omgubuntu.co.uk/2026/06/ubuntu-speech-to-text-ai\nhttps://discourse.ubuntu.com/t/ubuntu-desktop-26-10-stonking-stingray-roadmap-building-toward-ubuntu-28-04-lts/83751\n\nX11 disappears in 5 months on Plasma\nhttps://blog.davidedmundson.co.uk/blog/596/\n\nAcer launches Debian based handheld\nhttps://www.cnet.com/tech/gaming/acer-nitro-blaze-link-remote-play-handheld-acers-computex-launches/\nhttps://www.pcmag.com/news/acer-launching-streaming-only-handheld-gaming-pc\n\nMicrosoft adds the Linux core utilities to Windows\nhttps://itsfoss.com/news/windows-coreutils/\n\nMicrosoft will de-activate older Office suites people bought\nhttps://consumerrights.wiki/w/Microsoft_Office_2019_and_2021_for_Mac_view-only_conversion_(2026)#cite_note-ms-learn-cert-1\n\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nProton Drive gets faster + Linux client in the works\nhttps://proton.me/blog/drive-sdk-june-2026\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\n#technews #linuxnews #linuxdesktop", "duration" => 1781, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060600_Linux News - Ubuntu is making big desktop moves.mp4", "id" => "CQ2Pb0YNeqE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CQ2Pb0YNeqE", "playlist_index" => 19, "timestamp" => 1780735890, "title" => "Linux News - Ubuntu is making big desktop moves", "upload_date" => "20260606"} 06:53:56.565 [debug] QUERY OK source="sources" db=0.5ms idle=166.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:56.565 [debug] QUERY OK source="sources" db=0.1ms idle=165.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:56.568 [debug] QUERY OK source="media_items" db=3.5ms idle=165.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-06 08:51:30Z], 43] 06:53:56.572 [debug] QUERY OK source="media_items" db=3.0ms idle=168.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:45 Sponsor: SquareSpace\n02:21 EU parliament ditches Google for Qwant\n03:47 EU unveils their plan to ditch Big Tech\n07:12 Brave launches debloated version for $60USD\n09:33 Canonical takes over the maintenance of Flutter on Desktop\n11:08 Ubuntu has a big desktop roadmap\n16:00 X11 disappears in 5 months on Plasma\n17:56 Acer launches Debian based handheld\n19:16 Microsoft adds the Linux core utilities to Windows\n20:34 Microsoft will de-activate older Office suites people bought\n22:09 Steam machine and Frame planned for summer release\n23:26 Proton Drive gets faster + Linux client in the works\n24:49 UK orders Google to have attribution and opt-outs for AI summaries\n28:03 Sponsor: Tuxedo Computers\n\nLinks:\nEU parliament ditches Google for Qwant\nhttps://www.politico.eu/article/european-parliament-ditches-google-for-french-search-engine/\n\nEU unveils their plan to ditch Big Tech\nhttps://www.politico.eu/article/eu-plots-long-game-against-us-digital-supremacy/\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/\n\nCanonical takes over the maintenance of Flutter on Desktop\nhttps://www.omgubuntu.co.uk/2026/05/flutter-desktop-canonical-maintained\n\nUbuntu has a big desktop roadmap\nhttps://www.omgubuntu.co.uk/2026/06/ubuntu-speech-to-text-ai\nhttps://discourse.ubuntu.com/t/ubuntu-desktop-26-10-stonking-stingray-roadmap-building-toward-ubuntu-28-04-lts/83751\n\nX11 disappears in 5 months on Plasma\nhttps://blog.davidedmundson.co.uk/blog/596/\n\nAcer launches Debian based handheld\nhttps://www.cnet.com/tech/gaming/acer-nitro-blaze-link-remote-play-handheld-acers-computex-launches/\nhttps://www.pcmag.com/news/acer-launching-streaming-only-handheld-gaming-pc\n\nMicrosoft adds the Linux core utilities to Windows\nhttps://itsfoss.com/news/windows-coreutils/\n\nMicrosoft will de-activate older Office suites people bought\nhttps://consumerrights.wiki/w/Microsoft_Office_2019_and_2021_for_Mac_view-only_conversion_(2026)#cite_note-ms-learn-cert-1\n\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nProton Drive gets faster + Linux client in the works\nhttps://proton.me/blog/drive-sdk-june-2026\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\n#technews #linuxnews #linuxdesktop", "Linux News - Ubuntu is making big desktop moves", "39fe5c5e-8331-4ba6-826c-d92eeb5853cb", "CQ2Pb0YNeqE", 1781, false, "https://www.youtube.com/watch?v=CQ2Pb0YNeqE", 19, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060600_Linux News - Ubuntu is making big desktop moves.mp4", false, false, false, 43, [], 98, ~U[2026-06-06 08:51:30Z], ~U[2026-06-29 11:53:56Z], ~U[2026-06-29 11:53:56Z], "Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:45 Sponsor: SquareSpace\n02:21 EU parliament ditches Google for Qwant\n03:47 EU unveils their plan to ditch Big Tech\n07:12 Brave launches debloated version for $60USD\n09:33 Canonical takes over the maintenance of Flutter on Desktop\n11:08 Ubuntu has a big desktop roadmap\n16:00 X11 disappears in 5 months on Plasma\n17:56 Acer launches Debian based handheld\n19:16 Microsoft adds the Linux core utilities to Windows\n20:34 Microsoft will de-activate older Office suites people bought\n22:09 Steam machine and Frame planned for summer release\n23:26 Proton Drive gets faster + Linux client in the works\n24:49 UK orders Google to have attribution and opt-outs for AI summaries\n28:03 Sponsor: Tuxedo Computers\n\nLinks:\nEU parliament ditches Google for Qwant\nhttps://www.politico.eu/article/european-parliament-ditches-google-for-french-search-engine/\n\nEU unveils their plan to ditch Big Tech\nhttps://www.politico.eu/article/eu-plots-long-game-against-us-digital-supremacy/\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/\n\nCanonical takes over the maintenance of Flutter on Desktop\nhttps://www.omgubuntu.co.uk/2026/05/flutter-desktop-canonical-maintained\n\nUbuntu has a big desktop roadmap\nhttps://www.omgubuntu.co.uk/2026/06/ubuntu-speech-to-text-ai\nhttps://discourse.ubuntu.com/t/ubuntu-desktop-26-10-stonking-stingray-roadmap-building-toward-ubuntu-28-04-lts/83751\n\nX11 disappears in 5 months on Plasma\nhttps://blog.davidedmundson.co.uk/blog/596/\n\nAcer launches Debian based handheld\nhttps://www.cnet.com/tech/gaming/acer-nitro-blaze-link-remote-play-handheld-acers-computex-launches/\nhttps://www.pcmag.com/news/acer-launching-streaming-only-handheld-gaming-pc\n\nMicrosoft adds the Linux core utilities to Windows\nhttps://itsfoss.com/news/windows-coreutils/\n\nMicrosoft will de-activate older Office suites people bought\nhttps://consumerrights.wiki/w/Microsoft_Office_2019_and_2021_for_Mac_view-only_conversion_(2026)#cite_note-ms-learn-cert-1\n\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nProton Drive gets faster + Linux client in the works\nhttps://proton.me/blog/drive-sdk-june-2026\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\n#technews #linuxnews #linuxdesktop", "Linux News - Ubuntu is making big desktop moves", "CQ2Pb0YNeqE", 1781, false, "https://www.youtube.com/watch?v=CQ2Pb0YNeqE", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060600_Linux News - Ubuntu is making big desktop moves.mp4", false, 43, ~U[2026-06-06 08:51:30Z]] 06:53:56.572 [debug] QUERY OK source="sources" db=0.1ms idle=171.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:56.573 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:53:56.573 [debug] QUERY OK source="media_items" db=0.1ms idle=8.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 [3129532] 06:53:56.573 [debug] Current batch of media processed. Will check again in 1000ms 06:53:57.137 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UC5UAwBUum7CPN5buc-_N1Fw --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/c6/60/c660e337aea99e4f49bd70ffb88d012606158b1583f60d6a1fc98bdf610cdcb9.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/e8/5d/e85d0f96a3aa4c9ffb69f17b8b1a4712206fb6ac77b5d2f69b31169d28591f95.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 06:53:57.138 [debug] Gracefully stopping file follower 06:53:57.138 [debug] QUERY OK source="sources" db=0.6ms idle=569.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 06:53:57.139 [debug] QUERY OK source="sources" db=0.1ms idle=566.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.142 [debug] QUERY OK source="media_items" db=3.2ms idle=566.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-29 08:03:10Z], 43] 06:53:57.143 [debug] QUERY OK source="media_items" db=0.8ms idle=569.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps\n00:00 Intro\n00:05 Valve removes 4k60 mention from the Steam machine page\n02:31 Some cool GNOME apps released and updated\n06:26 KDE whiteboard & new email Client\n08:39 New DirtyClone vulnerability\n\n\nLinks:\nValve removes 4k60 mention from the Steam machine page\nhttps://www.gamingonlinux.com/2026/06/valve-quietly-tweaked-the-steam-machine-details-removing-4k-gaming-at-60-fps/\n\nSome cool GNOME apps released and updated\nhttps://thisweek.gnome.org/posts/2026/06/twig-255/\n\nKDE whiteboard & new email Client\nhttps://linuxiac.com/meet-drawy-kde-infinite-whiteboard-app-for-linux/\nhttps://melia.buxjr.com/\n\nNew DirtyClone vulnerability\nhttps://linuxiac.com/linux-gets-dirty-again-dirtyclone-kernel-flaw-can-lead-to-local-root-access/", "Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability", "d7c67a6f-1084-4d07-8c6a-a20bb56e8225", "MZq55vL2aGw", 604, false, "https://www.youtube.com/watch?v=MZq55vL2aGw", 1, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability.NA", false, false, false, 43, [], 97, ~U[2026-06-29 08:03:10Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps\n00:00 Intro\n00:05 Valve removes 4k60 mention from the Steam machine page\n02:31 Some cool GNOME apps released and updated\n06:26 KDE whiteboard & new email Client\n08:39 New DirtyClone vulnerability\n\n\nLinks:\nValve removes 4k60 mention from the Steam machine page\nhttps://www.gamingonlinux.com/2026/06/valve-quietly-tweaked-the-steam-machine-details-removing-4k-gaming-at-60-fps/\n\nSome cool GNOME apps released and updated\nhttps://thisweek.gnome.org/posts/2026/06/twig-255/\n\nKDE whiteboard & new email Client\nhttps://linuxiac.com/meet-drawy-kde-infinite-whiteboard-app-for-linux/\nhttps://melia.buxjr.com/\n\nNew DirtyClone vulnerability\nhttps://linuxiac.com/linux-gets-dirty-again-dirtyclone-kernel-flaw-can-lead-to-local-root-access/", "Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability", "MZq55vL2aGw", 604, false, "https://www.youtube.com/watch?v=MZq55vL2aGw", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability.NA", false, 43, ~U[2026-06-29 08:03:10Z]] 06:53:57.144 [debug] QUERY OK source="sources" db=0.2ms idle=570.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.147 [debug] QUERY OK source="media_items" db=3.2ms 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-29 06:53:38Z], 43] 06:53:57.148 [debug] QUERY OK source="media_items" db=0.6ms idle=8.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n08:51 Steam machine", "Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts", "8901dc4b-8f4b-4f1a-aecd-8aa3c7068a37", "DYW5_dKatQU", 1565, false, "https://www.youtube.com/watch?v=DYW5_dKatQU", 2, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts.NA", false, false, false, 43, [], 97, ~U[2026-06-29 06:53:38Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n08:51 Steam machine", "Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts", "DYW5_dKatQU", 1565, false, "https://www.youtube.com/watch?v=DYW5_dKatQU", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts.NA", false, 43, ~U[2026-06-29 06:53:38Z]] 06:53:57.148 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [43] 06:53:57.152 [debug] QUERY OK source="media_items" db=3.0ms idle=5.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-27 09:35:43Z], 43] 06:53:57.154 [debug] QUERY OK source="media_items" db=1.5ms idle=8.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Check out TuxCare's Endless Lifecycle Support for MinIO (and other distros and open source projects): https://tuxcare.com/endless-lifecycle-support/minio-eol-support/?utm_source=youtube&utm_medium=social&utm_campaign=ELS%20for%20MinIO&utm_term=The%20linux%20experiment\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\n#technews #linuxnews #linuxdesktop #linux\n\nTimestamps:\n00:00 Intro\n00:26 Sponsor: TuxCare\n01:33 Steam machine looks like a disappointment \n06:52 SteamOS 3.8 image supports all AMD PCs\n08:23 Epic Games open sources new version control system\n10:00 BcacheFS now no longer experimental\n11:26 XFCE has its first Wayland compositor\n12:37 Cosmic moves to version 1.1\n13:59 Wikipedia claps back against AI\n15:25 Wikipedia cofounder banned for canvassing\n18:55 Solution proposed to end all captchas\n21:11 New initiative for improve graphics end 3D software on Wayland\n23:16 GE Proton fixes all media related issues in games\n25:40 DXVK 3.0 gives big performance improvements\n28:05 Sponsor: Tuxedo Computers\n\n\nLinks\nSteam machine looks like a disappointment\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0\n\n#technews #linuxnews #linuxdesktop #linux", "Linux Weekly News - Epic Games made their own GIT", "7bac939c-1edc-4b37-9d8f-f23b1272f908", "p5aE1FpFmtY", 1797, false, "https://www.youtube.com/watch?v=p5aE1FpFmtY", 3, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062700_Linux Weekly News - Epic Games made their own GIT.mp4", false, false, false, 43, [], 98, ~U[2026-06-27 09:35:43Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "Check out TuxCare's Endless Lifecycle Support for MinIO (and other distros and open source projects): https://tuxcare.com/endless-lifecycle-support/minio-eol-support/?utm_source=youtube&utm_medium=social&utm_campaign=ELS%20for%20MinIO&utm_term=The%20linux%20experiment\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\n#technews #linuxnews #linuxdesktop #linux\n\nTimestamps:\n00:00 Intro\n00:26 Sponsor: TuxCare\n01:33 Steam machine looks like a disappointment \n06:52 SteamOS 3.8 image supports all AMD PCs\n08:23 Epic Games open sources new version control system\n10:00 BcacheFS now no longer experimental\n11:26 XFCE has its first Wayland compositor\n12:37 Cosmic moves to version 1.1\n13:59 Wikipedia claps back against AI\n15:25 Wikipedia cofounder banned for canvassing\n18:55 Solution proposed to end all captchas\n21:11 New initiative for improve graphics end 3D software on Wayland\n23:16 GE Proton fixes all media related issues in games\n25:40 DXVK 3.0 gives big performance improvements\n28:05 Sponsor: Tuxedo Computers\n\n\nLinks\nSteam machine looks like a disappointment\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0\n\n#technews #linuxnews #linuxdesktop #linux", "Linux Weekly News - Epic Games made their own GIT", "p5aE1FpFmtY", 1797, false, "https://www.youtube.com/watch?v=p5aE1FpFmtY", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 202 (truncated) 06:53:57.154 [debug] QUERY OK source="sources" db=0.5ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.158 [debug] QUERY OK source="media_items" db=3.0ms idle=6.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-26 08:08:27Z], 43] 06:53:57.159 [debug] QUERY OK source="media_items" db=0.7ms idle=9.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 New initiative for improve graphics end 3D software on Wayland\n04:15 Purism releases Librem 16 laptop\n06:45 DXVK 3.0 gives big performance improvements\n\nLinks:\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nPurism releases Librem 16 laptop\nhttps://linuxiac.com/purisms-librem-16-brings-linux-privacy-hardware-at-a-premium-price/\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0", "Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update", "0c33e205-107d-4a71-8462-47c99671470e", "2irCIuypCN8", 601, false, "https://www.youtube.com/watch?v=2irCIuypCN8", 4, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062600_Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update.NA", false, false, false, 43, [], 98, ~U[2026-06-26 08:08:27Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 New initiative for improve graphics end 3D software on Wayland\n04:15 Purism releases Librem 16 laptop\n06:45 DXVK 3.0 gives big performance improvements\n\nLinks:\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nPurism releases Librem 16 laptop\nhttps://linuxiac.com/purisms-librem-16-brings-linux-privacy-hardware-at-a-premium-price/\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0", "Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update", "2irCIuypCN8", 601, false, "https://www.youtube.com/watch?v=2irCIuypCN8", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062600_Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update.NA", false, 43, ~U[2026-06-26 08:08:27Z]] 06:53:57.159 [debug] QUERY OK source="sources" db=0.5ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.163 [debug] QUERY OK source="media_items" db=3.0ms idle=6.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-25 09:23:21Z], 43] 06:53:57.164 [debug] QUERY OK source="media_items" db=0.8ms idle=8.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS 3.8 image supports all AMD PCs\n02:04 GE Proton fixes all media related issues in games\n06:44 Pine64 launches smart speaker for home assistant\n\n\n\nLinks\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nPine64 launches smart speaker for home assistant\nhttps://itsfoss.com/news/pinevoice-smart-speaker/", "Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game", "225b4324-0582-4236-b326-912d1fbc8c3e", "I_oGMKxAQxM", 541, false, "https://www.youtube.com/watch?v=I_oGMKxAQxM", 5, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062500_Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game.NA", false, false, false, 43, [], 98, ~U[2026-06-25 09:23:21Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS 3.8 image supports all AMD PCs\n02:04 GE Proton fixes all media related issues in games\n06:44 Pine64 launches smart speaker for home assistant\n\n\n\nLinks\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nPine64 launches smart speaker for home assistant\nhttps://itsfoss.com/news/pinevoice-smart-speaker/", "Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game", "I_oGMKxAQxM", 541, false, "https://www.youtube.com/watch?v=I_oGMKxAQxM", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062500_Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game.NA", false, 43, ~U[2026-06-25 09:23:21Z]] 06:53:57.164 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [43] 06:53:57.168 [debug] QUERY OK source="media_items" db=3.2ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-24 08:27:08Z], 43] 06:53:57.169 [debug] QUERY OK source="media_items" db=1.1ms idle=8.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine seems disappointing for the price\n04:39 Cosmic moves to version 1.1\n06:02 Wikipedia cofounder banned for canvassing\n10:27 Solution proposed to end all captchas\n\nLinks:\n\nSteam machine seems disappointing for the price\nhttps://www.pcgamer.com/hardware/gaming-pcs/the-steam-machine-is-the-biggest-victim-of-the-rampocalypse-to-date-and-thats-made-me-unreasonably-annoyed/\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/", "Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned", "d93e8500-c96a-4f3e-861f-138109e953a4", "Z0vbXozyZ6Q", 801, false, "https://www.youtube.com/watch?v=Z0vbXozyZ6Q", 6, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062400_Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned.NA", false, false, false, 43, [], 98, ~U[2026-06-24 08:27:08Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine seems disappointing for the price\n04:39 Cosmic moves to version 1.1\n06:02 Wikipedia cofounder banned for canvassing\n10:27 Solution proposed to end all captchas\n\nLinks:\n\nSteam machine seems disappointing for the price\nhttps://www.pcgamer.com/hardware/gaming-pcs/the-steam-machine-is-the-biggest-victim-of-the-rampocalypse-to-date-and-thats-made-me-unreasonably-annoyed/\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/", "Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned", "Z0vbXozyZ6Q", 801, false, "https://www.youtube.com/watch?v=Z0vbXozyZ6Q", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062400_Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned.NA", false, 43, ~U[2026-06-24 08:27:08Z]] 06:53:57.170 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [43] 06:53:57.173 [debug] QUERY OK source="media_items" db=3.0ms 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-06-23 08:00:41Z], 43] 06:53:57.174 [debug] QUERY OK source="media_items" db=0.8ms idle=8.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine launches for more than a 1000 bucks\n03:33 SteamOS ISO coming, but no date still\n05:57 XFCE has its first Wayland compositor\n07:37 NVK gets DLSS support\n08:37 Wikipedia claps back against AI\n\nLinks\nSteam machine launches for more than a 1000 bucks\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\n\nSteamOS ISO coming, but no date still\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nNVK gets DLSS support\nhttps://www.gamingonlinux.com/2026/06/the-open-source-nvidia-vulkan-driver-nvk-now-has-experimental-dlss-support/\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says", "Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland", "805e03b5-2ba0-412a-824e-bc480fd1e03c", "Rf5xQTtGy-A", 631, false, "https://www.youtube.com/watch?v=Rf5xQTtGy-A", 7, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062300_Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland.NA", false, false, false, 43, [], 98, ~U[2026-06-23 08:00:41Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine launches for more than a 1000 bucks\n03:33 SteamOS ISO coming, but no date still\n05:57 XFCE has its first Wayland compositor\n07:37 NVK gets DLSS support\n08:37 Wikipedia claps back against AI\n\nLinks\nSteam machine launches for more than a 1000 bucks\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\n\nSteamOS ISO coming, but no date still\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nNVK gets DLSS support\nhttps://www.gamingonlinux.com/2026/06/the-open-source-nvidia-vulkan-driver-nvk-now-has-experimental-dlss-support/\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says", "Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland", "Rf5xQTtGy-A", 631, false, "https://www.youtube.com/watch?v=Rf5xQTtGy-A", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062300_Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland.NA", false, 43, ~U[2026-06-23 08:00:41Z]] 06:53:57.175 [debug] QUERY OK source="sources" db=0.4ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.178 [debug] QUERY OK source="media_items" db=3.0ms idle=5.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-22 08:17:45Z], 43] 06:53:57.179 [debug] QUERY OK source="media_items" db=0.8ms idle=8.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:34 Postmarket OS updates Linux Phones\n03:03 KDE Goals is open for submissions\n05:15 BcacheFS now no longer experimental\n06:59 Epic Games open sources new version control system\n09:41 Mesa 26.2 improves frame pacing and stutters in game\n\nLinks\n\nPostmarket OS updates Linux Phones\nhttps://linuxiac.com/postmarketos-26-06-brings-fresh-linux-phone-updates/\n\nKDE Goals is open for submissions\nhttps://blogs.kde.org/2026/06/20/kde-goals-call-for-submissions/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nMesa 26.2 improves frame pacing and stutters in game\nhttps://www.phoronix.com/news/Mesa-26.2-X11-Present-Timing", "Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git", "4bc2db22-7e74-4537-952e-56726bc39cd1", "tXxYvOPlH1M", 678, false, "https://www.youtube.com/watch?v=tXxYvOPlH1M", 8, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git.NA", false, false, false, 43, [], 97, ~U[2026-06-22 08:17:45Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:34 Postmarket OS updates Linux Phones\n03:03 KDE Goals is open for submissions\n05:15 BcacheFS now no longer experimental\n06:59 Epic Games open sources new version control system\n09:41 Mesa 26.2 improves frame pacing and stutters in game\n\nLinks\n\nPostmarket OS updates Linux Phones\nhttps://linuxiac.com/postmarketos-26-06-brings-fresh-linux-phone-updates/\n\nKDE Goals is open for submissions\nhttps://blogs.kde.org/2026/06/20/kde-goals-call-for-submissions/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nMesa 26.2 improves frame pacing and stutters in game\nhttps://www.phoronix.com/news/Mesa-26.2-X11-Present-Timing", "Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git", "tXxYvOPlH1M", 678, false, "https://www.youtube.com/watch?v=tXxYvOPlH1M", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git.NA", false, 43, ~U[2026-06-22 08:17:45Z]] 06:53:57.180 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [43] 06:53:57.183 [debug] QUERY OK source="media_items" db=3.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[2026-06-22 06:26:30Z], 43] 06:53:57.184 [debug] QUERY OK source="media_items" db=0.6ms idle=8.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:50 Ubuntu Touch improvements\n10:13 GNOME Foundation issues", "Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues", "0b98b4b6-3b6a-48f5-aa62-ee75de406a89", "aXHR7jvC000", 1377, false, "https://www.youtube.com/watch?v=aXHR7jvC000", 9, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues.NA", false, false, false, 43, [], 97, ~U[2026-06-22 06:26:30Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:50 Ubuntu Touch improvements\n10:13 GNOME Foundation issues", "Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues", "aXHR7jvC000", 1377, false, "https://www.youtube.com/watch?v=aXHR7jvC000", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues.NA", false, 43, ~U[2026-06-22 06:26:30Z]] 06:53:57.185 [debug] QUERY OK source="sources" db=0.4ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.188 [debug] QUERY OK source="media_items" db=3.1ms idle=5.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-20 08:36:08Z], 43] 06:53:57.190 [debug] QUERY OK source="media_items" db=1.2ms idle=8.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT \n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:42 Sponsor: SquareSpace\n02:01 GNOME Foundation issues and lack of transparency\n09:34 AUR compromised with malware and spam\n12:57 Mozilla shares big Firefox roadmap\n15:54 X11 server rewritten using Rust and AI\n17:33 Linux kernel 7.1 released\n19:03 Chrome removes manifest v2 support entirely\n20:39 Firefox for Android will rely on Google Play integrity API\n22:29 Plasma 6.7 released\n24:27 SonicDE forks KDE into an X11 desktop\n26:24 More details on Ubuntu's AI features\n28:21 The EU won't stop killing videogames\n31:06 Sponsor: Tuxedo oOmputers\n\n\nLinks:\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31\n\nAUR compromised with malware and spam\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles", "2060dbdf-517a-46dd-9ed0-73188b7b7e77", "gxzle1WPTos", 1979, false, "https://www.youtube.com/watch?v=gxzle1WPTos", 10, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062000_Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles.mp4", false, false, false, 43, [], 98, ~U[2026-06-20 08:36:08Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT \n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:42 Sponsor: SquareSpace\n02:01 GNOME Foundation issues and lack of transparency\n09:34 AUR compromised with malware and spam\n12:57 Mozilla shares big Firefox roadmap\n15:54 X11 server rewritten using Rust and AI\n17:33 Linux kernel 7.1 released\n19:03 Chrome removes manifest v2 support entirely\n20:39 Firefox for Android will rely on Google Play integrity API\n22:29 Plasma 6.7 released\n24:27 SonicDE forks KDE into an X11 desktop\n26:24 More details on Ubuntu's AI features\n28:21 The EU won't stop killing videogames\n31:06 Sponsor: Tuxedo oOmputers\n\n\nLinks:\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31\n\nAUR compromised with malware and spam\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles", "gxzle1WPTos", 1979, false, "https://www.youtube.com/watch?v=gxzle1WPTos", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062000_Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles.mp4", false, 43, ~U[2026-06-20 08:36:08Z]] 06:53:57.190 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.194 [debug] QUERY OK source="media_items" db=3.1ms idle=6.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-19 08:24:09Z], 43] 06:53:57.195 [debug] QUERY OK source="media_items" db=0.7ms idle=9.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS updates indicates Steam machine isn't far\n02:01 Mozilla shares big Firefox roadmap\n06:20 Ubuntu flavours now have to release betas\n\nLinks:\nSteamOS updates indicates Steam machine isn't far\nhttps://steamcommunity.com/games/1675200/announcements/detail/697641379212298073\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nUbuntu flavours now have to release betas\nhttps://lists.ubuntu.com/archives/ubuntu-release/2026-June/006814.html", "Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap", "a120244d-054e-4dad-a93e-9ddca073c3f8", "WfFe2-Uy2Fo", 561, false, "https://www.youtube.com/watch?v=WfFe2-Uy2Fo", 11, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061900_Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap.NA", false, false, false, 43, [], 98, ~U[2026-06-19 08:24:09Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS updates indicates Steam machine isn't far\n02:01 Mozilla shares big Firefox roadmap\n06:20 Ubuntu flavours now have to release betas\n\nLinks:\nSteamOS updates indicates Steam machine isn't far\nhttps://steamcommunity.com/games/1675200/announcements/detail/697641379212298073\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nUbuntu flavours now have to release betas\nhttps://lists.ubuntu.com/archives/ubuntu-release/2026-June/006814.html", "Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap", "WfFe2-Uy2Fo", 561, false, "https://www.youtube.com/watch?v=WfFe2-Uy2Fo", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061900_Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap.NA", false, 43, ~U[2026-06-19 08:24:09Z]] 06:53:57.195 [debug] QUERY OK source="sources" db=0.4ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.199 [debug] QUERY OK source="media_items" db=3.1ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-18 07:28:09Z], 43] 06:53:57.200 [debug] QUERY OK source="media_items" db=0.8ms idle=8.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Arch adds some security features to their AUR helper\n02:59 More details on Ubuntu's AI features\n05:17 Wine Wayland driver makes progress\n07:44 Audacity 4 beta released\n\nLinks:\nArch adds some security features to their AUR helper\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nWine Wayland driver makes progress\nhttps://www.phoronix.com/news/Wine-11.11-Released\nhttps://gitlab.winehq.org/wine/wine/-/merge_requests/11101\n\nAudacity 4 beta released\nhttps://www.omgubuntu.co.uk/2026/06/audacity-4-0-beta", "Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4", "905f0388-ace9-4695-ba89-9771b77751f6", "10t33nUtCow", 650, false, "https://www.youtube.com/watch?v=10t33nUtCow", 12, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061800_Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4.NA", false, false, false, 43, [], 98, ~U[2026-06-18 07:28:09Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Arch adds some security features to their AUR helper\n02:59 More details on Ubuntu's AI features\n05:17 Wine Wayland driver makes progress\n07:44 Audacity 4 beta released\n\nLinks:\nArch adds some security features to their AUR helper\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nWine Wayland driver makes progress\nhttps://www.phoronix.com/news/Wine-11.11-Released\nhttps://gitlab.winehq.org/wine/wine/-/merge_requests/11101\n\nAudacity 4 beta released\nhttps://www.omgubuntu.co.uk/2026/06/audacity-4-0-beta", "Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4", "10t33nUtCow", 650, false, "https://www.youtube.com/watch?v=10t33nUtCow", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061800_Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4.NA", false, 43, ~U[2026-06-18 07:28:09Z]] 06:53:57.201 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [43] 06:53:57.204 [debug] QUERY OK source="media_items" db=3.1ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-17 10:34:57Z], 43] 06:53:57.205 [debug] QUERY OK source="media_items" db=0.7ms idle=8.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Plasma 6.7 released\n03:18 Big update on Oxygen and Air theme for KDE\n06:12 AUR infected by spam messages and insults\n08:09 The EU won't stop killing videogames\n\nLinks:\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nBig update on Oxygen and Air theme for KDE\nhttps://filipfila.wordpress.com/2026/06/16/oxygen-6-7-is-here-a-breath-of-fresh-air-for-kdes-classic-theme/\n\nAUR infected by spam messages and insults\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames", "5a62bd99-0337-4df2-a356-a14cec5feda4", "VgRZUNhID6w", 729, false, "https://www.youtube.com/watch?v=VgRZUNhID6w", 13, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061700_Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames.NA", false, false, false, 43, [], 98, ~U[2026-06-17 10:34:57Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Plasma 6.7 released\n03:18 Big update on Oxygen and Air theme for KDE\n06:12 AUR infected by spam messages and insults\n08:09 The EU won't stop killing videogames\n\nLinks:\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nBig update on Oxygen and Air theme for KDE\nhttps://filipfila.wordpress.com/2026/06/16/oxygen-6-7-is-here-a-breath-of-fresh-air-for-kdes-classic-theme/\n\nAUR infected by spam messages and insults\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames", "VgRZUNhID6w", 729, false, "https://www.youtube.com/watch?v=VgRZUNhID6w", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061700_Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames.NA", false, 43, ~U[2026-06-17 10:34:57Z]] 06:53:57.206 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [43] 06:53:57.209 [debug] QUERY OK source="media_items" db=3.1ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 11:11:56Z], 43] 06:53:57.210 [debug] QUERY OK source="media_items" db=0.8ms idle=8.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try out Joplin, one of the best Open Source Note taking apps: https://joplinapp.org/?source=TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:29 Sponsor: Joplin\n01:57 Per Monitor desktops\n03:16 Performance improvements\n04:18 Visual changes\n07:38 Better Keyboard input\n08:55 Plasma Widgets\n12:54 Global Push to Talk & other changes\n15:36 Kwin Changes & Wayland support\n19:12 Settings changes\n20:54 App Changes\n23:18 Conclusion\n24:45 Sponsor: Tuxedo Computers\n\n#linuxdesktop #kdeplasma #linuxdistro", "KDE Plasma 6.7 review: still the best Linux Desktop IMO", "a199ff84-ed1a-4cb8-b84e-5aebdac96134", "5qJSapprdSQ", 1574, false, "https://www.youtube.com/watch?v=5qJSapprdSQ", 14, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_KDE Plasma 6.7 review: still the best Linux Desktop IMO.mp4", false, false, false, 43, [], 97, ~U[2026-06-16 11:11:56Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "Try out Joplin, one of the best Open Source Note taking apps: https://joplinapp.org/?source=TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:29 Sponsor: Joplin\n01:57 Per Monitor desktops\n03:16 Performance improvements\n04:18 Visual changes\n07:38 Better Keyboard input\n08:55 Plasma Widgets\n12:54 Global Push to Talk & other changes\n15:36 Kwin Changes & Wayland support\n19:12 Settings changes\n20:54 App Changes\n23:18 Conclusion\n24:45 Sponsor: Tuxedo Computers\n\n#linuxdesktop #kdeplasma #linuxdistro", "KDE Plasma 6.7 review: still the best Linux Desktop IMO", "5qJSapprdSQ", 1574, false, "https://www.youtube.com/watch?v=5qJSapprdSQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_KDE Plasma 6.7 review: still the best Linux Desktop IMO.mp4", false, 43, ~U[2026-06-16 11:11:56Z]] 06:53:57.211 [debug] QUERY OK source="sources" db=0.5ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.214 [debug] QUERY OK source="media_items" db=3.4ms idle=6.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 08:04:46Z], 43] 06:53:57.216 [debug] QUERY OK source="media_items" db=0.8ms idle=9.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine release date leaked\n01:40 Ubuntu Touch update fixes some of the problems I had\n03:41 SonicDE forks KDE into an X11 desktop\n05:51 GNOME Foundation issues and lack of transparency\n\nLinks:\nSteam machine release date leaked\nhttps://goodtech.info/valve-steamos-beta-leak-hardware-steam-machine/\n\nUbuntu Touch update fixes some of the problems I had\nhttps://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-2-0-beta-is-now-ready-for-testing-4000\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31", "Daily Linux News - S03E112 - My take on the GNOME Foundation stuff", "b4870f47-00c5-41b9-af8d-4c8d13fa017a", "8IB2ysqfIps", 918, false, "https://www.youtube.com/watch?v=8IB2ysqfIps", 15, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_Daily Linux News - S03E112 - My take on the GNOME Foundation stuff.NA", false, false, false, 43, [], 97, ~U[2026-06-16 08:04:46Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine release date leaked\n01:40 Ubuntu Touch update fixes some of the problems I had\n03:41 SonicDE forks KDE into an X11 desktop\n05:51 GNOME Foundation issues and lack of transparency\n\nLinks:\nSteam machine release date leaked\nhttps://goodtech.info/valve-steamos-beta-leak-hardware-steam-machine/\n\nUbuntu Touch update fixes some of the problems I had\nhttps://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-2-0-beta-is-now-ready-for-testing-4000\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31", "Daily Linux News - S03E112 - My take on the GNOME Foundation stuff", "8IB2ysqfIps", 918, false, "https://www.youtube.com/watch?v=8IB2ysqfIps", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_Daily Linux News - S03E112 - My take on the GNOME Foundation stuff.NA", false, 43, ~U[2026-06-16 08:04:46Z]] 06:53:57.216 [debug] QUERY OK source="sources" db=0.6ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.220 [debug] QUERY OK source="media_items" db=3.1ms idle=6.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-15 11:11:26Z], 43] 06:53:57.223 [debug] QUERY OK source="media_items" db=2.9ms idle=8.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:20 X11 server rewritten using Rust and AI\n02:47 LadyBird browser shuts down external contributions\n04:45 Document Foundation keeps attacking other suites\n10:07 1500 AUR packages compromised\n13:12 Fedora bug tracker gets infected by an AI bot\n15:20 Microsoft's SecureBoot key expires, action might be required\n17:31 Linux kernel 7.1 released\n19:12 eOS 4.0 adds a ton of stuff to the degoogled ROM\n22:57 Chrome removes manifest v2 support entirely\n24:14 Firefox for Android will rely on Google Play integrity API\n\nLinks:\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLadyBird browser shuts down external contributions\nhttps://ladybird.org/posts/changing-how-we-develop-ladybird/\n\nDocument Foundation keeps attacking other suites\nhttps://www.omgubuntu.co.uk/2026/06/libreoffice-tabbed-ui-backgrounds\nhttps://blog.documentfoundation.org/blog/2026/06/08/an-open-letter/\n\n1500 AUR packages compromised\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\n\nFedora bug tracker gets infected by an AI bot\nhttps://itsfoss.com/news/fedora-bug-tracker-infiltrated-by-ai-agent/\n\nMicrosoft's SecureBoot key expires, action might be required\nhttps://fedoramagazine.org/expiration-of-microsoft-secure-boot-keys/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\neOS 4.0 adds a ton of stuff to the degoogled ROM\nhttps://murena.com/meet-e-os-4-0/\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity", "Daily Linux News - S03E111 - A big catchup episode !", "75ac5716-53ad-43d9-afbd-2b1b97a519ca", "KjC4jWQwxhc", 1664, false, "https://www.youtube.com/watch?v=KjC4jWQwxhc", 16, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Daily Linux News - S03E111 - A big catchup episode !.NA", false, false, false, 43, [], 97, ~U[2026-06-15 11:11:26Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:20 X11 server rewritten using Rust and AI\n02:47 LadyBird browser shuts down external contributions\n04:45 Document Foundation keeps attacking other suites\n10:07 1500 AUR packages compromised\n13:12 Fedora bug tracker gets infected by an AI bot\n15:20 Microsoft's SecureBoot key expires, action might be required\n17:31 Linux kernel 7.1 released\n19:12 eOS 4.0 adds a ton of stuff to the degoogled ROM\n22:57 Chrome removes manifest v2 support entirely\n24:14 Firefox for Android will rely on Google Play integrity API\n\nLinks:\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLadyBird browser shuts down external contributions\nhttps://ladybird.org/posts/changing-how-we-develop-ladybird/\n\nDocument Foundation keeps attacking other suites\nhttps://www.omgubuntu.co.uk/2026/06/libreoffice-tabbed-ui-backgrounds\nhttps://blog.documentfoundation.org/blog/2026/06/08/an-open-letter/\n\n1500 AUR packages compromised\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\n\nFedora bug tracker gets infected by an AI bot\nhttps://itsfoss.com/news/fedora-bug-tracker-infiltrated-by-ai-agent/\n\nMicrosoft's SecureBoot key expires, action might be required\nhttps://fedoramagazine.org/expiration-of-microsoft-secure-boot-keys/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\neOS 4.0 adds a ton of stuff to the degoogled ROM\nhttps://murena.com/meet-e-os-4-0/\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity", "Daily Linux News - S03E111 - A big catchup episode !", "KjC4jWQwxhc", 1664, false, "https://www.youtube.com/watch?v=KjC4jWQwxhc", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Daily Linux News - S03E111 - A big catchup episode !.NA", false, 43, ~U[2026-06-15 11:11:26Z]] 06:53:57.224 [debug] QUERY OK source="sources" db=0.4ms idle=8.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.227 [debug] QUERY OK source="media_items" db=3.3ms idle=8.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-15 08:36:27Z], 43] 06:53:57.228 [debug] QUERY OK source="media_items" db=0.5ms idle=11.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestmaps:\n00:00 Intro\n00:05 My vacation\n11:30 2 Weeks with Ubuntu Touch", "Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch", "6490fc84-0844-4087-bb5f-36d72a5e95d7", "cPhk9LaU24M", 1642, false, "https://www.youtube.com/watch?v=cPhk9LaU24M", 17, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch.NA", false, false, false, 43, [], 97, ~U[2026-06-15 08:36:27Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestmaps:\n00:00 Intro\n00:05 My vacation\n11:30 2 Weeks with Ubuntu Touch", "Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch", "cPhk9LaU24M", 1642, false, "https://www.youtube.com/watch?v=cPhk9LaU24M", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch.NA", false, 43, ~U[2026-06-15 08:36:27Z]] 06:53:57.229 [debug] QUERY OK source="sources" db=0.5ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.232 [debug] QUERY OK source="media_items" db=3.2ms idle=6.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-11 11:13:50Z], 43] 06:53:57.233 [debug] QUERY OK source="media_items" db=0.7ms idle=8.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use a secure, encrypted, and fast VPN with Proton VPN: https://protonvpn.com/TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:43 Sponsor: ProtonVPN\n01:41 Mouse Tiler: auto-tiling for KDE\n06:35 Other Scripts\n08:00 Plasma Layout & Applets\n11:43 Themes & Icons\n15:57 Activities\n18:46 Sponsor: Tuxedo Computers\n\n#kdeplasma #linuxdesktop #ricing", "How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites..", "15c6c602-2501-4ad2-9aa2-5cd566ce4541", "UUn-7H35cFQ", 1194, false, "https://www.youtube.com/watch?v=UUn-7H35cFQ", 18, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061100_How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites...mp4", false, false, false, 43, [], 98, ~U[2026-06-11 11:13:50Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "Use a secure, encrypted, and fast VPN with Proton VPN: https://protonvpn.com/TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:43 Sponsor: ProtonVPN\n01:41 Mouse Tiler: auto-tiling for KDE\n06:35 Other Scripts\n08:00 Plasma Layout & Applets\n11:43 Themes & Icons\n15:57 Activities\n18:46 Sponsor: Tuxedo Computers\n\n#kdeplasma #linuxdesktop #ricing", "How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites..", "UUn-7H35cFQ", 1194, false, "https://www.youtube.com/watch?v=UUn-7H35cFQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061100_How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites...mp4", false, 43, ~U[2026-06-11 11:13:50Z]] 06:53:57.234 [debug] QUERY OK source="sources" db=0.4ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.237 [debug] QUERY OK source="media_items" db=3.1ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-06 08:51:30Z], 43] 06:53:57.239 [debug] QUERY OK source="media_items" db=1.3ms idle=8.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:45 Sponsor: SquareSpace\n02:21 EU parliament ditches Google for Qwant\n03:47 EU unveils their plan to ditch Big Tech\n07:12 Brave launches debloated version for $60USD\n09:33 Canonical takes over the maintenance of Flutter on Desktop\n11:08 Ubuntu has a big desktop roadmap\n16:00 X11 disappears in 5 months on Plasma\n17:56 Acer launches Debian based handheld\n19:16 Microsoft adds the Linux core utilities to Windows\n20:34 Microsoft will de-activate older Office suites people bought\n22:09 Steam machine and Frame planned for summer release\n23:26 Proton Drive gets faster + Linux client in the works\n24:49 UK orders Google to have attribution and opt-outs for AI summaries\n28:03 Sponsor: Tuxedo Computers\n\nLinks:\nEU parliament ditches Google for Qwant\nhttps://www.politico.eu/article/european-parliament-ditches-google-for-french-search-engine/\n\nEU unveils their plan to ditch Big Tech\nhttps://www.politico.eu/article/eu-plots-long-game-against-us-digital-supremacy/\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/\n\nCanonical takes over the maintenance of Flutter on Desktop\nhttps://www.omgubuntu.co.uk/2026/05/flutter-desktop-canonical-maintained\n\nUbuntu has a big desktop roadmap\nhttps://www.omgubuntu.co.uk/2026/06/ubuntu-speech-to-text-ai\nhttps://discourse.ubuntu.com/t/ubuntu-desktop-26-10-stonking-stingray-roadmap-building-toward-ubuntu-28-04-lts/83751\n\nX11 disappears in 5 months on Plasma\nhttps://blog.davidedmundson.co.uk/blog/596/\n\nAcer launches Debian based handheld\nhttps://www.cnet.com/tech/gaming/acer-nitro-blaze-link-remote-play-handheld-acers-computex-launches/\nhttps://www.pcmag.com/news/acer-launching-streaming-only-handheld-gaming-pc\n\nMicrosoft adds the Linux core utilities to Windows\nhttps://itsfoss.com/news/windows-coreutils/\n\nMicrosoft will de-activate older Office suites people bought\nhttps://consumerrights.wiki/w/Microsoft_Office_2019_and_2021_for_Mac_view-only_conversion_(2026)#cite_note-ms-learn-cert-1\n\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nProton Drive gets faster + Linux client in the works\nhttps://proton.me/blog/drive-sdk-june-2026\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\n#technews #linuxnews #linuxdesktop", "Linux News - Ubuntu is making big desktop moves", "b8a37e52-3b95-48b6-971d-9bcc68d43545", "CQ2Pb0YNeqE", 1781, false, "https://www.youtube.com/watch?v=CQ2Pb0YNeqE", 19, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060600_Linux News - Ubuntu is making big desktop moves.mp4", false, false, false, 43, [], 98, ~U[2026-06-06 08:51:30Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:45 Sponsor: SquareSpace\n02:21 EU parliament ditches Google for Qwant\n03:47 EU unveils their plan to ditch Big Tech\n07:12 Brave launches debloated version for $60USD\n09:33 Canonical takes over the maintenance of Flutter on Desktop\n11:08 Ubuntu has a big desktop roadmap\n16:00 X11 disappears in 5 months on Plasma\n17:56 Acer launches Debian based handheld\n19:16 Microsoft adds the Linux core utilities to Windows\n20:34 Microsoft will de-activate older Office suites people bought\n22:09 Steam machine and Frame planned for summer release\n23:26 Proton Drive gets faster + Linux client in the works\n24:49 UK orders Google to have attribution and opt-outs for AI summaries\n28:03 Sponsor: Tuxedo Computers\n\nLinks:\nEU parliament ditches Google for Qwant\nhttps://www.politico.eu/article/european-parliament-ditches-google-for-french-search-engine/\n\nEU unveils their plan to ditch Big Tech\nhttps://www.politico.eu/article/eu-plots-long-game-against-us-digital-supremacy/\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/\n\nCanonical takes over the maintenance of Flutter on Desktop\nhttps://www.omgubuntu.co.uk/2026/05/flutter-desktop-canonical-maintained\n\nUbuntu has a big desktop roadmap\nhttps://www.omgubuntu.co.uk/2026/06/ubuntu-speech-to-text-ai\nhttps://discourse.ubuntu.com/t/ubuntu-desktop-26-10-stonking-stingray-roadmap-building-toward-ubuntu-28-04-lts/83751\n\nX11 disappears in 5 months on Plasma\nhttps://blog.davidedmundson.co.uk/blog/596/\n\nAcer launches Debian based handheld\nhttps://www.cnet.com/tech/gaming/acer-nitro-blaze-link-remote-play-handheld-acers-computex-launches/\nhttps://www.pcmag.com/news/acer-launching-streaming-only-handheld-gaming-pc\n\nMicrosoft adds the Linux core utilities to Windows\nhttps://itsfoss.com/news/windows-coreutils/\n\nMicrosoft will de-activate older Office suites people bought\nhttps://consumerrights.wiki/w/Microsoft_Office_2019_and_2021_for_Mac_view-only_conversion_(2026)#cite_note-ms-learn-cert-1\n\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nProton Drive gets faster + Linux client in the works\nhttps://proton.me/blog/drive-sdk-june-2026\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\n#technews #linuxnews #linuxdesktop", "Linux News - Ubuntu is making big desktop moves", "CQ2Pb0YNeqE", 1781, false, "https://www.youtube.com/watch?v=CQ2Pb0YNeqE", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060600_Linux News - Ubuntu is making big desktop moves.mp4", false, 43, ~U[2026-06-06 08:51:30Z]] 06:53:57.240 [debug] QUERY OK source="sources" db=0.5ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.243 [debug] QUERY OK source="media_items" db=3.2ms idle=6.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-05 09:46:26Z], 43] 06:53:57.244 [debug] QUERY OK source="media_items" db=0.9ms idle=9.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:27 Steam machine and Frame planned for summer release\n02:08 More Apple Silicon work upstreamed to Linux\n03:40 UK orders Google to have attribution and opt-outs for AI summaries\n07:08 Browser manufacturers ask Microsoft to open browser choice\n09:15 Brave launches debloated version for $60USD\n\n\n\nLinks:\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nMore Apple Silicon work upstreamed to Linux\nhttps://www.phoronix.com/news/Linux-7.2-Boots-Apple-M3\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\nBrowser manufacturers ask Microsoft to open browser choice\nhttps://browserchoicealliance.org/open-letter/\nhttps://gs.statcounter.com/browser-market-share/desktop/worldwide/#monthly-202505-202605\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/", "Daily Linux News - S03E110 - UK orders Google to fix their AI practices, Brave launches paid browser", "722ae443-e426-496c-9ae5-5f167510080a", "RWtp6WwcB2k", 784, false, "https://www.youtube.com/watch?v=RWtp6WwcB2k", 20, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060500_Daily Linux News - S03E110 - UK orders Google to fix their AI practices, Brave launches paid browser.NA", false, false, false, 43, [], 98, ~U[2026-06-05 09:46:26Z], ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:27 Steam machine and Frame planned for summer release\n02:08 More Apple Silicon work upstreamed to Linux\n03:40 UK orders Google to have attribution and opt-outs for AI summaries\n07:08 Browser manufacturers ask Microsoft to open browser choice\n09:15 Brave launches debloated version for $60USD\n\n\n\nLinks:\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nMore Apple Silicon work upstreamed to Linux\nhttps://www.phoronix.com/news/Linux-7.2-Boots-Apple-M3\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\nBrowser manufacturers ask Microsoft to open browser choice\nhttps://browserchoicealliance.org/open-letter/\nhttps://gs.statcounter.com/browser-market-share/desktop/worldwide/#monthly-202505-202605\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/", "Daily Linux News - S03E110 - UK orders Google to fix their AI practices, Brave launches paid browser", "RWtp6WwcB2k", 784, false, "https://www.youtube.com/watch?v=RWtp6WwcB2k", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060500_Daily Linux News - S03E110 - UK orders Google to fix their AI practices, Brave launches paid browser.NA", false, 43, ~U[2026-06-05 09:46:26Z]] 06:53:57.245 [debug] QUERY OK source="sources" db=0.4ms idle=7.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z], 43] 06:53:57.249 [debug] QUERY OK source="media_items" db=4.3ms idle=6.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [43] 06:53:57.401 [debug] Current batch of media processed. Will check again in 1000ms 06:53:57.426 [debug] QUERY OK source="tasks" db=0.3ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419779, 3012876, ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z]] 06:53:57.432 [info] {"args":{"id":3012876},"id":419779,"meta":{},"system_time":1782734037432685803,"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"]} 06:53:57.433 [debug] QUERY OK source="media_items" db=0.7ms 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" = ?) [3012876] 06:53:57.434 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:53:57.434 [debug] QUERY OK source="sources" db=0.5ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:53:57.435 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:53:57.437 [debug] QUERY OK source="media_items" db=0.7ms 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 [3012876] 06:53:57.438 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.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" = ?) [3012876] 06:53:57.438 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:53:57.439 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:53:57.439 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:53:57.440 [debug] Running yt-dlp command for action: get_downloadable_status 06:53:57.441 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:53:57.441 [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 [] 06:53:57.441 [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 [] 06:53:57.441 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6f/48/6f4814fa27beec6ef37f9b66b52f99bcd1203e1afc6728a261a0f2ca6e42af87.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:53:57.462 [debug] QUERY OK source="media_items" db=4.0ms 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")))) [43] 06:53:57.462 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=5.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [43] 06:53:57.464 [debug] QUERY OK source="tasks" db=0.2ms idle=5.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419780, 43, ~U[2026-06-29 11:53:57Z], ~U[2026-06-29 11:53:57Z]] 06:53:57.464 [info] {"args":{"id":43},"id":419687,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":42135451,"event":"job:stop","queue_time":162506,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 06:53:58.402 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I explain how a security researcher discovered an exploit in Creative's Sound Blaster Katana V2X soundbar that allows someone to install custom firmware to the speaker over an unauthenticated bluetooth connection to turn the speaker into a surveillance device or HID that can send commands to your computer.\n\nRead the security researchers write up on the issue here\nhttps://blog.nns.ee/2026/06/03/katana-badusb/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 663, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e061600_When Your Computer Gets Hacked Through A Bluetooth Speaker.mp4", "id" => "FNMOLizFL2s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FNMOLizFL2s", "playlist_index" => 2, "timestamp" => 1781568506, "title" => "When Your Computer Gets Hacked Through A Bluetooth Speaker", "upload_date" => "20260616"} 06:53:58.403 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=939.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:53:58.404 [debug] QUERY OK source="sources" db=0.2ms idle=939.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 06:53:58.405 [debug] QUERY OK source="media_items" db=1.3ms idle=939.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 00:08:26Z], 45] 06:53:58.406 [debug] QUERY OK source="media_items" db=0.9ms idle=934.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I explain how a security researcher discovered an exploit in Creative's Sound Blaster Katana V2X soundbar that allows someone to install custom firmware to the speaker over an unauthenticated bluetooth connection to turn the speaker into a surveillance device or HID that can send commands to your computer.\n\nRead the security researchers write up on the issue here\nhttps://blog.nns.ee/2026/06/03/katana-badusb/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When Your Computer Gets Hacked Through A Bluetooth Speaker", "dcaf7e5e-7280-4348-ba06-8da632b5ac70", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", 2, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e061600_When Your Computer Gets Hacked Through A Bluetooth Speaker.mp4", false, false, false, 45, [], 98, ~U[2026-06-16 00:08:26Z], ~U[2026-06-29 11:53:58Z], ~U[2026-06-29 11:53:58Z], "In this video I explain how a security researcher discovered an exploit in Creative's Sound Blaster Katana V2X soundbar that allows someone to install custom firmware to the speaker over an unauthenticated bluetooth connection to turn the speaker into a surveillance device or HID that can send commands to your computer.\n\nRead the security researchers write up on the issue here\nhttps://blog.nns.ee/2026/06/03/katana-badusb/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When Your Computer Gets Hacked Through A Bluetooth Speaker", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e061600_When Your Computer Gets Hacked Through A Bluetooth Speaker.mp4", false, 45, ~U[2026-06-16 00:08:26Z]] 06:53:58.407 [debug] QUERY OK source="sources" db=0.2ms idle=23.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:53:58.407 [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] 06:53:58.407 [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 [3206020] 06:53:58.407 [debug] Current batch of media processed. Will check again in 1000ms 06:53:59.276 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6f/48/6f4814fa27beec6ef37f9b66b52f99bcd1203e1afc6728a261a0f2ca6e42af87.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:53:59.276 [error] yt-dlp download error for media item #3012876: "ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:53:59.277 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3012876},"id":419779,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1843945,"event":"job:exception","queue_time":430891,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:53:59.409 [debug] Current batch of media processed. Will check again in 1000ms 06:54:00.016 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:54:00.410 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 644, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", "id" => "fL9HzADcTsY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fL9HzADcTsY", "playlist_index" => 3, "timestamp" => 1780689201, "title" => "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "upload_date" => "20260605"} 06:54:00.411 [debug] QUERY OK source="sources" db=0.3ms idle=1026.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:00.412 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [45] 06:54:00.413 [debug] QUERY OK source="media_items" db=1.4ms idle=471.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-05 19:53:21Z], 45] 06:54:00.418 [debug] QUERY OK source="media_items" db=4.4ms idle=397.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "4f0c60e8-c358-4b3a-83d2-2afbeae315ff", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", 3, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", false, false, false, 45, [], 98, ~U[2026-06-05 19:53:21Z], ~U[2026-06-29 11:54:00Z], ~U[2026-06-29 11:54:00Z], "In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", false, 45, ~U[2026-06-05 19:53:21Z]] 06:54:00.418 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [45] 06:54:00.419 [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] 06:54:00.419 [debug] QUERY OK source="media_items" db=0.1ms 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 [3124978] 06:54:00.419 [debug] Current batch of media processed. Will check again in 1000ms 06:54:01.420 [debug] Current batch of media processed. Will check again in 1000ms 06:54:02.421 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 678, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", "id" => "zQ0iVWUvvDM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zQ0iVWUvvDM", "playlist_index" => 4, "timestamp" => 1780005229, "title" => "Linux Is Too Powerful For Age Check Laws", "upload_date" => "20260528"} 06:54:02.421 [debug] QUERY OK source="sources" db=0.3ms idle=480.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:02.422 [debug] QUERY OK source="sources" db=0.1ms idle=481.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:02.423 [debug] QUERY OK source="media_items" db=1.4ms idle=481.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-28 21:53:49Z], 45] 06:54:02.425 [debug] QUERY OK source="media_items" db=1.3ms idle=482.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Too Powerful For Age Check Laws", "d2d3dc2c-b1bb-4fa2-b272-61a9d918211c", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", 4, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", false, false, false, 45, [], 98, ~U[2026-05-28 21:53:49Z], ~U[2026-06-29 11:54:02Z], ~U[2026-06-29 11:54:02Z], "In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Too Powerful For Age Check Laws", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", false, 45, ~U[2026-05-28 21:53:49Z]] 06:54:02.425 [debug] QUERY OK source="sources" db=0.1ms idle=36.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:54:02.426 [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] 06:54:02.426 [debug] QUERY OK source="media_items" db=0.1ms 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 [3063283] 06:54:02.426 [debug] Current batch of media processed. Will check again in 1000ms 06:54:03.427 [debug] Current batch of media processed. Will check again in 1000ms 06:54:04.428 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 507, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", "id" => "vel8YW7eCzE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vel8YW7eCzE", "playlist_index" => 5, "timestamp" => 1779390068, "title" => "RCE Bug Found in NGINX (With AI Tools)", "upload_date" => "20260521"} 06:54:04.429 [debug] QUERY OK source="sources" db=0.3ms idle=487.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:04.429 [debug] QUERY OK source="sources" db=0.1ms idle=487.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:04.431 [debug] QUERY OK source="media_items" db=1.4ms idle=488.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 19:01:08Z], 45] 06:54:04.432 [debug] QUERY OK source="media_items" db=0.8ms idle=489.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "RCE Bug Found in NGINX (With AI Tools)", "1c413a60-94d9-4c6a-81eb-d983a7e050dd", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", 5, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", false, false, false, 45, [], 98, ~U[2026-05-21 19:01:08Z], ~U[2026-06-29 11:54:04Z], ~U[2026-06-29 11:54:04Z], "If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "RCE Bug Found in NGINX (With AI Tools)", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", false, 45, ~U[2026-05-21 19:01:08Z]] 06:54:04.432 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 06:54:04.432 [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] 06:54:04.433 [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 [3008138] 06:54:04.433 [debug] Current batch of media processed. Will check again in 1000ms 06:54:05.434 [debug] Current batch of media processed. Will check again in 1000ms 06:54:06.435 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 623, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", "id" => "4dOp-QA4VK4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4dOp-QA4VK4", "playlist_index" => 6, "timestamp" => 1778963904, "title" => "A Hacker Found The BitLocker Backdoor", "upload_date" => "20260516"} 06:54:06.435 [debug] QUERY OK source="sources" db=0.2ms idle=494.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:06.436 [debug] QUERY OK source="sources" db=0.0ms idle=495.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:06.437 [debug] QUERY OK source="media_items" db=1.3ms idle=495.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 20:38:24Z], 45] 06:54:06.438 [debug] QUERY OK source="media_items" db=0.7ms idle=496.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "A Hacker Found The BitLocker Backdoor", "106ed2dc-0ec1-488e-9baa-a826778dd2dd", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", 6, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", false, false, false, 45, [], 98, ~U[2026-05-16 20:38:24Z], ~U[2026-06-29 11:54:06Z], ~U[2026-06-29 11:54:06Z], "In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "A Hacker Found The BitLocker Backdoor", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", false, 45, ~U[2026-05-16 20:38:24Z]] 06:54:06.439 [debug] QUERY OK source="sources" db=0.1ms idle=44.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:54:06.439 [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] 06:54:06.439 [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 [2969802] 06:54:06.439 [debug] Current batch of media processed. Will check again in 1000ms 06:54:07.440 [debug] Current batch of media processed. Will check again in 1000ms 06:54:08.441 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 492, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", "id" => "ioc_GlSCsIg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ioc_GlSCsIg", "playlist_index" => 7, "timestamp" => 1778710408, "title" => "Linux Is Getting an Emergency Kill Switch", "upload_date" => "20260513"} 06:54:08.442 [debug] QUERY OK source="sources" db=0.2ms idle=500.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 06:54:08.442 [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" = ?) [45] 06:54:08.444 [debug] QUERY OK source="media_items" db=1.3ms idle=501.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-13 22:13:28Z], 45] 06:54:08.445 [debug] QUERY OK source="media_items" db=0.7ms idle=503.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Getting an Emergency Kill Switch", "367e319c-cf74-40bc-b02d-faee9c6daa0b", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", 7, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", false, false, false, 45, [], 98, ~U[2026-05-13 22:13:28Z], ~U[2026-06-29 11:54:08Z], ~U[2026-06-29 11:54:08Z], "In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Getting an Emergency Kill Switch", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", false, 45, ~U[2026-05-13 22:13:28Z]] 06:54:08.445 [debug] QUERY OK source="sources" db=0.1ms idle=48.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:54:08.445 [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] 06:54:08.445 [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 [2947012] 06:54:08.445 [debug] Current batch of media processed. Will check again in 1000ms 06:54:09.447 [debug] Current batch of media processed. Will check again in 1000ms 06:54:10.448 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 556, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", "id" => "N_ALOVdrAmQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=N_ALOVdrAmQ", "playlist_index" => 8, "timestamp" => 1778102735, "title" => "Copy Fail The Worst Linux Privilege Escalation in Years", "upload_date" => "20260506"} 06:54:10.448 [debug] QUERY OK source="sources" db=0.2ms idle=507.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:10.448 [debug] QUERY OK source="sources" db=0.1ms idle=507.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:10.450 [debug] QUERY OK source="media_items" db=1.4ms idle=507.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 21:25:35Z], 45] 06:54:10.451 [debug] QUERY OK source="media_items" db=0.8ms idle=509.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Copy Fail The Worst Linux Privilege Escalation in Years", "e8418d3c-7cdf-4c48-9cf0-7992109c1eed", "N_ALOVdrAmQ", 556, false, "https://www.youtube.com/watch?v=N_ALOVdrAmQ", 8, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", false, false, false, 45, [], 98, ~U[2026-05-06 21:25:35Z], ~U[2026-06-29 11:54:10Z], ~U[2026-06-29 11:54:10Z], "In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Copy Fail The Worst Linux Privilege Escalation in Years", "N_ALOVdrAmQ", 556, false, "https://www.youtube.com/watch?v=N_ALOVdrAmQ", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", false, 45, ~U[2026-05-06 21:25:35Z]] 06:54:10.452 [debug] QUERY OK source="sources" db=0.1ms idle=53.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:54:10.452 [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] 06:54:10.452 [debug] QUERY OK source="media_items" db=0.1ms 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 [2893509] 06:54:10.452 [debug] Current batch of media processed. Will check again in 1000ms 06:54:11.453 [debug] Current batch of media processed. Will check again in 1000ms 06:54:12.454 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 497, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", "id" => "TwJhkFnROV8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TwJhkFnROV8", "playlist_index" => 9, "timestamp" => 1777760006, "title" => "The Password Manager Situation Is Crazy", "upload_date" => "20260502"} 06:54:12.454 [debug] QUERY OK source="sources" db=0.3ms idle=513.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:12.455 [debug] QUERY OK source="sources" db=0.0ms idle=513.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:12.456 [debug] QUERY OK source="media_items" db=1.3ms idle=514.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 22:13:26Z], 45] 06:54:12.457 [debug] QUERY OK source="media_items" db=0.7ms idle=515.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Password Manager Situation Is Crazy", "a2b5787d-f588-423e-b8e3-98e71c1db6b2", "TwJhkFnROV8", 497, false, "https://www.youtube.com/watch?v=TwJhkFnROV8", 9, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", false, false, false, 45, [], 98, ~U[2026-05-02 22:13:26Z], ~U[2026-06-29 11:54:12Z], ~U[2026-06-29 11:54:12Z], "In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Password Manager Situation Is Crazy", "TwJhkFnROV8", 497, false, "https://www.youtube.com/watch?v=TwJhkFnROV8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", false, 45, ~U[2026-05-02 22:13:26Z]] 06:54:12.458 [debug] QUERY OK source="sources" db=0.2ms idle=57.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:54:12.458 [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] 06:54:12.458 [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 [2863999] 06:54:12.458 [debug] Current batch of media processed. Will check again in 1000ms 06:54:13.458 [debug] Current batch of media processed. Will check again in 1000ms 06:54:14.460 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 523, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", "id" => "xQO7svoRelw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xQO7svoRelw", "playlist_index" => 10, "timestamp" => 1777511969, "title" => "Ubuntu Linux Will Ship With AI", "upload_date" => "20260430"} 06:54:14.461 [debug] QUERY OK source="sources" db=0.2ms idle=519.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:14.461 [debug] QUERY OK source="sources" db=0.1ms idle=520.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 06:54:14.463 [debug] QUERY OK source="media_items" db=1.3ms idle=520.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-30 01:19:29Z], 45] 06:54:14.464 [debug] QUERY OK source="media_items" db=0.6ms idle=522.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Ubuntu Linux Will Ship With AI", "2f3efa41-452a-4e89-b90f-badb0738c791", "xQO7svoRelw", 523, false, "https://www.youtube.com/watch?v=xQO7svoRelw", 10, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", false, false, false, 45, [], 98, ~U[2026-04-30 01:19:29Z], ~U[2026-06-29 11:54:14Z], ~U[2026-06-29 11:54:14Z], "In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Ubuntu Linux Will Ship With AI", "xQO7svoRelw", 523, false, "https://www.youtube.com/watch?v=xQO7svoRelw", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", false, 45, ~U[2026-04-30 01:19:29Z]] 06:54:14.464 [debug] QUERY OK source="sources" db=0.1ms idle=60.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 06:54:14.464 [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] 06:54:14.464 [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 [2841980] 06:54:14.464 [debug] Current batch of media processed. Will check again in 1000ms 06:54:15.466 [debug] Current batch of media processed. Will check again in 1000ms 06:54:16.466 [debug] Current batch of media processed. Will check again in 1000ms 06:54:17.415 [info] {"args":{"id":3012876},"id":419779,"meta":{},"system_time":1782734057415380756,"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"]} 06:54:17.415 [debug] QUERY OK source="media_items" db=0.2ms idle=1474.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" = ?) [3012876] 06:54:17.416 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:54:17.416 [debug] QUERY OK source="sources" db=0.1ms idle=1475.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:54:17.416 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:54:17.417 [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 [3012876] 06:54:17.418 [debug] QUERY OK source="media_metadata" db=0.0ms 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" = ?) [3012876] 06:54:17.418 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:54:17.418 [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 [] 06:54:17.419 [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 [] 06:54:17.419 [debug] Running yt-dlp command for action: get_downloadable_status 06:54:17.419 [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 [] 06:54:17.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 [] 06:54:17.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 [] 06:54:17.420 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/cf/7bcf57ebc4d0b7ea0f3e514671a947722e1a309e6d123d2242c6123d22021dea.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:54:17.468 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 543, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", "id" => "u3XlqKBeONY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=u3XlqKBeONY", "playlist_index" => 11, "timestamp" => 1777138036, "title" => "When The AI Model Comes With RCE", "upload_date" => "20260425"} 06:54:17.468 [debug] QUERY OK source="sources" db=0.2ms idle=49.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:17.469 [debug] QUERY OK source="sources" db=0.1ms idle=49.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 06:54:17.470 [debug] QUERY OK source="media_items" db=1.3ms idle=49.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-25 17:27:16Z], 45] 06:54:17.471 [debug] QUERY OK source="media_items" db=0.7ms idle=50.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When The AI Model Comes With RCE", "64222216-c2b1-4a6b-b816-23f707fff272", "u3XlqKBeONY", 543, false, "https://www.youtube.com/watch?v=u3XlqKBeONY", 11, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", false, false, false, 45, [], 98, ~U[2026-04-25 17:27:16Z], ~U[2026-06-29 11:54:17Z], ~U[2026-06-29 11:54:17Z], "In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When The AI Model Comes With RCE", "u3XlqKBeONY", 543, false, "https://www.youtube.com/watch?v=u3XlqKBeONY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", false, 45, ~U[2026-04-25 17:27:16Z]] 06:54:17.471 [debug] QUERY OK source="sources" db=0.1ms idle=51.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 06:54:17.472 [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] 06:54:17.472 [debug] QUERY OK source="media_items" db=0.1ms 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 [2808375] 06:54:17.472 [debug] Current batch of media processed. Will check again in 1000ms 06:54:18.473 [debug] Current batch of media processed. Will check again in 1000ms 06:54:19.246 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/cf/7bcf57ebc4d0b7ea0f3e514671a947722e1a309e6d123d2242c6123d22021dea.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:54:19.246 [error] yt-dlp download error for media item #3012876: "ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:54:19.247 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3012876},"id":419779,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1831144,"event":"job:exception","queue_time":137327,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:54:19.474 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 514, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", "id" => "ThTJAlYGqkE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ThTJAlYGqkE", "playlist_index" => 12, "timestamp" => 1776475697, "title" => "France Is Ditching Windows for Linux", "upload_date" => "20260418"} 06:54:19.475 [debug] QUERY OK source="sources" db=0.2ms idle=533.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:19.475 [debug] QUERY OK source="sources" db=0.2ms idle=533.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:19.477 [debug] QUERY OK source="media_items" db=1.3ms idle=228.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-18 01:28:17Z], 45] 06:54:19.478 [debug] QUERY OK source="media_items" db=0.7ms idle=223.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "France Is Ditching Windows for Linux", "9d02b0fe-a80e-48d3-8e29-34e4e73c2371", "ThTJAlYGqkE", 514, false, "https://www.youtube.com/watch?v=ThTJAlYGqkE", 12, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", false, false, false, 45, [], 98, ~U[2026-04-18 01:28:17Z], ~U[2026-06-29 11:54:19Z], ~U[2026-06-29 11:54:19Z], "In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "France Is Ditching Windows for Linux", "ThTJAlYGqkE", 514, false, "https://www.youtube.com/watch?v=ThTJAlYGqkE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", false, 45, ~U[2026-04-18 01:28:17Z]] 06:54:19.478 [debug] QUERY OK source="sources" db=0.1ms idle=66.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 06:54:19.478 [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] 06:54:19.479 [debug] QUERY OK source="media_items" db=0.1ms 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 [2749206] 06:54:19.479 [debug] Current batch of media processed. Will check again in 1000ms 06:54:20.480 [debug] Current batch of media processed. Will check again in 1000ms 06:54:21.481 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 515, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", "id" => "MsAOy_mSp_4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MsAOy_mSp_4", "playlist_index" => 13, "timestamp" => 1776126540, "title" => "Your Home Router Might Be In Danger", "upload_date" => "20260414"} 06:54:21.482 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=541.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:21.482 [debug] QUERY OK source="sources" db=0.1ms idle=541.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:21.484 [debug] QUERY OK source="media_items" db=1.3ms idle=542.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-14 00:29:00Z], 45] 06:54:21.485 [debug] QUERY OK source="media_items" db=0.8ms idle=543.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your Home Router Might Be In Danger", "c02097a6-8e59-456d-95d8-84df3fb81733", "MsAOy_mSp_4", 515, false, "https://www.youtube.com/watch?v=MsAOy_mSp_4", 13, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", false, false, false, 45, [], 98, ~U[2026-04-14 00:29:00Z], ~U[2026-06-29 11:54:21Z], ~U[2026-06-29 11:54:21Z], "In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your Home Router Might Be In Danger", "MsAOy_mSp_4", 515, false, "https://www.youtube.com/watch?v=MsAOy_mSp_4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", false, 45, ~U[2026-04-14 00:29:00Z]] 06:54:21.485 [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" = ?) [45] 06:54:21.486 [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] 06:54:21.486 [debug] QUERY OK source="media_items" db=0.1ms 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 [2723981] 06:54:21.486 [debug] Current batch of media processed. Will check again in 1000ms 06:54:22.480 [info] {"source":"oban","duration":7704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:22.486 [debug] Current batch of media processed. Will check again in 1000ms 06:54:23.488 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 889, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", "id" => "la21SXOll6c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=la21SXOll6c", "playlist_index" => 14, "timestamp" => 1775739724, "title" => "Install Arch Linux The Lazy Way", "upload_date" => "20260409"} 06:54:23.488 [debug] QUERY OK source="sources" db=0.3ms idle=1007.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 06:54:23.489 [debug] QUERY OK source="sources" db=0.1ms idle=548.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:23.491 [debug] QUERY OK source="media_items" db=1.6ms idle=548.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-09 13:02:04Z], 45] 06:54:23.492 [debug] QUERY OK source="media_items" db=0.8ms idle=550.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Install Arch Linux The Lazy Way", "a206a2e1-c1b2-4a72-bebd-ba338da3cfb6", "la21SXOll6c", 889, false, "https://www.youtube.com/watch?v=la21SXOll6c", 14, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", false, false, false, 45, [], 98, ~U[2026-04-09 13:02:04Z], ~U[2026-06-29 11:54:23Z], ~U[2026-06-29 11:54:23Z], "In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Install Arch Linux The Lazy Way", "la21SXOll6c", 889, false, "https://www.youtube.com/watch?v=la21SXOll6c", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", false, 45, ~U[2026-04-09 13:02:04Z]] 06:54:23.492 [debug] QUERY OK source="sources" db=0.2ms idle=76.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:54:23.493 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 06:54:23.494 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2688305] 06:54:23.494 [debug] Current batch of media processed. Will check again in 1000ms 06:54:24.495 [debug] Current batch of media processed. Will check again in 1000ms 06:54:25.496 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 659, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", "id" => "J6SFrdHOuFM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=J6SFrdHOuFM", "playlist_index" => 15, "timestamp" => 1775004780, "title" => "Uncomplicated Firewall Guide", "upload_date" => "20260401"} 06:54:25.496 [debug] QUERY OK source="sources" db=0.1ms idle=555.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 06:54:25.496 [debug] QUERY OK source="sources" db=0.1ms idle=555.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:25.498 [debug] QUERY OK source="media_items" db=1.3ms idle=555.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-01 00:53:00Z], 45] 06:54:25.500 [debug] QUERY OK source="media_items" db=1.5ms idle=557.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Uncomplicated Firewall Guide", "a6dd66c9-aa36-4ecb-bda4-5fcf8274ea84", "J6SFrdHOuFM", 659, false, "https://www.youtube.com/watch?v=J6SFrdHOuFM", 15, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", false, false, false, 45, [], 98, ~U[2026-04-01 00:53:00Z], ~U[2026-06-29 11:54:25Z], ~U[2026-06-29 11:54:25Z], "In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Uncomplicated Firewall Guide", "J6SFrdHOuFM", 659, false, "https://www.youtube.com/watch?v=J6SFrdHOuFM", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", false, 45, ~U[2026-04-01 00:53:00Z]] 06:54:25.500 [debug] QUERY OK source="sources" db=0.1ms idle=80.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:54:25.500 [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] 06:54:25.501 [debug] QUERY OK source="media_items" db=0.1ms 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 [2619987] 06:54:25.501 [debug] Current batch of media processed. Will check again in 1000ms 06:54:26.502 [debug] Current batch of media processed. Will check again in 1000ms 06:54:27.503 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 1125, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", "id" => "oc6WOCx1vCE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oc6WOCx1vCE", "playlist_index" => 16, "timestamp" => 1774389532, "title" => "Making Linux Ungovernable With I2P", "upload_date" => "20260324"} 06:54:27.503 [debug] QUERY OK source="sources" db=0.2ms idle=562.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:27.504 [debug] QUERY OK source="sources" db=0.2ms idle=562.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:27.505 [debug] QUERY OK source="media_items" db=1.4ms idle=563.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 21:58:52Z], 45] 06:54:27.506 [debug] QUERY OK source="media_items" db=0.7ms idle=564.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Making Linux Ungovernable With I2P", "f58a0e34-980d-444b-8528-c6fb8babf4e8", "oc6WOCx1vCE", 1125, false, "https://www.youtube.com/watch?v=oc6WOCx1vCE", 16, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", false, false, false, 45, [], 98, ~U[2026-03-24 21:58:52Z], ~U[2026-06-29 11:54:27Z], ~U[2026-06-29 11:54:27Z], "In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Making Linux Ungovernable With I2P", "oc6WOCx1vCE", 1125, false, "https://www.youtube.com/watch?v=oc6WOCx1vCE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", false, 45, ~U[2026-03-24 21:58:52Z]] 06:54:27.507 [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" = ?) [45] 06:54:27.507 [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] 06:54:27.507 [debug] QUERY OK source="media_items" db=0.1ms 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 [2565295] 06:54:27.507 [debug] Current batch of media processed. Will check again in 1000ms 06:54:28.508 [debug] Current batch of media processed. Will check again in 1000ms 06:54:29.509 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 532, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", "id" => "4KyiLyOxux8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4KyiLyOxux8", "playlist_index" => 17, "timestamp" => 1773529831, "title" => "Meta Spent Millions To Push The New Age Check Laws", "upload_date" => "20260314"} 06:54:29.509 [debug] QUERY OK source="sources" db=0.2ms idle=568.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:29.510 [debug] QUERY OK source="sources" db=0.1ms idle=568.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:29.511 [debug] QUERY OK source="media_items" db=1.4ms idle=569.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 23:10:31Z], 45] 06:54:29.513 [debug] QUERY OK source="media_items" db=1.0ms idle=570.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Meta Spent Millions To Push The New Age Check Laws", "b0d8f33f-f558-4640-8508-9c9974b37248", "4KyiLyOxux8", 532, false, "https://www.youtube.com/watch?v=4KyiLyOxux8", 17, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", false, false, false, 45, [], 98, ~U[2026-03-14 23:10:31Z], ~U[2026-06-29 11:54:29Z], ~U[2026-06-29 11:54:29Z], "In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Meta Spent Millions To Push The New Age Check Laws", "4KyiLyOxux8", 532, false, "https://www.youtube.com/watch?v=4KyiLyOxux8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", false, 45, ~U[2026-03-14 23:10:31Z]] 06:54:29.513 [debug] QUERY OK source="sources" db=0.1ms idle=89.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:54:29.513 [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] 06:54:29.514 [debug] QUERY OK source="media_items" db=0.1ms 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 [2488162] 06:54:29.514 [debug] Current batch of media processed. Will check again in 1000ms 06:54:30.515 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 526, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", "id" => "hiMqdYh9LNU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hiMqdYh9LNU", "playlist_index" => 18, "timestamp" => 1773332609, "title" => "The Online ID Check Situation is Crazy", "upload_date" => "20260312"} 06:54:30.515 [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" IN (?)) [45] 06:54:30.516 [debug] QUERY OK source="sources" db=0.1ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:30.517 [debug] QUERY OK source="media_items" db=1.3ms idle=1002.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-12 16:23:29Z], 45] 06:54:30.519 [debug] QUERY OK source="media_items" db=1.4ms idle=1004.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Online ID Check Situation is Crazy", "361aa1b0-aeb5-405a-913b-86c64adc37fb", "hiMqdYh9LNU", 526, false, "https://www.youtube.com/watch?v=hiMqdYh9LNU", 18, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", false, false, false, 45, [], 98, ~U[2026-03-12 16:23:29Z], ~U[2026-06-29 11:54:30Z], ~U[2026-06-29 11:54:30Z], "In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Online ID Check Situation is Crazy", "hiMqdYh9LNU", 526, false, "https://www.youtube.com/watch?v=hiMqdYh9LNU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", false, 45, ~U[2026-03-12 16:23:29Z]] 06:54:30.519 [debug] QUERY OK source="sources" db=0.1ms idle=94.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:54:30.520 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:54:30.520 [debug] QUERY OK source="media_items" db=0.1ms 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 [2470150] 06:54:30.520 [debug] Current batch of media processed. Will check again in 1000ms 06:54:31.521 [debug] Current batch of media processed. Will check again in 1000ms 06:54:32.522 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 1142, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", "id" => "K3QOAVrhGTg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=K3QOAVrhGTg", "playlist_index" => 19, "timestamp" => 1773183113, "title" => "Installing Linux Just Got Easier", "upload_date" => "20260310"} 06:54:32.522 [debug] QUERY OK source="sources" db=0.2ms idle=581.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:32.523 [debug] QUERY OK source="sources" db=0.1ms idle=581.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:32.524 [debug] QUERY OK source="media_items" db=1.3ms idle=582.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-10 22:51:53Z], 45] 06:54:32.527 [debug] QUERY OK source="media_items" db=2.9ms idle=583.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Installing Linux Just Got Easier", "ac9296df-bde3-4583-8606-134c75edbc95", "K3QOAVrhGTg", 1142, false, "https://www.youtube.com/watch?v=K3QOAVrhGTg", 19, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", false, false, false, 45, [], 98, ~U[2026-03-10 22:51:53Z], ~U[2026-06-29 11:54:32Z], ~U[2026-06-29 11:54:32Z], "In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Installing Linux Just Got Easier", "K3QOAVrhGTg", 1142, false, "https://www.youtube.com/watch?v=K3QOAVrhGTg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", false, 45, ~U[2026-03-10 22:51:53Z]] 06:54:32.528 [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" = ?) [45] 06:54:32.528 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:54:32.528 [debug] QUERY OK source="media_items" db=0.1ms 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 [2456354] 06:54:32.528 [debug] Current batch of media processed. Will check again in 1000ms 06:54:33.530 [debug] Current batch of media processed. Will check again in 1000ms 06:54:34.503 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/channel/UC7YOGHUfC1Tb6E4pudI9STA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/40/bb/40bb6c3fb981ff4ee63a5865f306888fe6e3b4b2eae4f2516170ca0b7248fa91.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ef/06/ef06a8f82339e28679c21fa8e43304119de4b6c0fa657be4aa8bd68d658aad67.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 06:54:34.504 [debug] Gracefully stopping file follower 06:54:34.504 [debug] QUERY OK source="sources" db=0.1ms idle=563.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 06:54:34.504 [debug] QUERY OK source="sources" db=0.1ms idle=563.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 06:54:34.506 [debug] QUERY OK source="media_items" db=1.3ms idle=563.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-25 23:30:42Z], 45] 06:54:34.520 [debug] QUERY OK source="media_items" db=13.8ms idle=565.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how apps on smartTV's are being used to setup stealthy residential proxies to support botnets using the TV owners home internet connection.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your TV Might Be Part Of A Botnet", "eb91b17b-3bdc-405a-8aae-80cf7eaa4643", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", 1, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e062500_Your TV Might Be Part Of A Botnet.mp4", false, false, false, 45, [], 98, ~U[2026-06-25 23:30:42Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discuss how apps on smartTV's are being used to setup stealthy residential proxies to support botnets using the TV owners home internet connection.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your TV Might Be Part Of A Botnet", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e062500_Your TV Might Be Part Of A Botnet.mp4", false, 45, ~U[2026-06-25 23:30:42Z]] 06:54:34.520 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [45] 06:54:34.522 [debug] QUERY OK source="media_items" db=1.4ms idle=16.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 00:08:26Z], 45] 06:54:34.526 [debug] QUERY OK source="media_items" db=4.0ms idle=17.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I explain how a security researcher discovered an exploit in Creative's Sound Blaster Katana V2X soundbar that allows someone to install custom firmware to the speaker over an unauthenticated bluetooth connection to turn the speaker into a surveillance device or HID that can send commands to your computer.\n\nRead the security researchers write up on the issue here\nhttps://blog.nns.ee/2026/06/03/katana-badusb/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When Your Computer Gets Hacked Through A Bluetooth Speaker", "5c09e81d-5f05-40cf-aef9-b36a141a749b", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", 2, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e061600_When Your Computer Gets Hacked Through A Bluetooth Speaker.mp4", false, false, false, 45, [], 98, ~U[2026-06-16 00:08:26Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I explain how a security researcher discovered an exploit in Creative's Sound Blaster Katana V2X soundbar that allows someone to install custom firmware to the speaker over an unauthenticated bluetooth connection to turn the speaker into a surveillance device or HID that can send commands to your computer.\n\nRead the security researchers write up on the issue here\nhttps://blog.nns.ee/2026/06/03/katana-badusb/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When Your Computer Gets Hacked Through A Bluetooth Speaker", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e061600_When Your Computer Gets Hacked Through A Bluetooth Speaker.mp4", false, 45, ~U[2026-06-16 00:08:26Z]] 06:54:34.527 [debug] QUERY OK source="sources" db=0.3ms idle=20.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 06:54:34.528 [debug] QUERY OK source="media_items" db=1.2ms idle=7.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-05 19:53:21Z], 45] 06:54:34.529 [debug] QUERY OK source="media_items" db=0.8ms idle=8.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "218bd7a2-2cb9-40a3-a334-4c6420115469", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", 3, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", false, false, false, 45, [], 98, ~U[2026-06-05 19:53:21Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", false, 45, ~U[2026-06-05 19:53:21Z]] 06:54:34.530 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 06:54:34.531 [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-05-28 21:53:49Z], 45] 06:54:34.532 [debug] QUERY OK source="media_items" db=0.7ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Too Powerful For Age Check Laws", "a2b0be00-aa32-4ef3-8160-1c7018fe2400", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", 4, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", false, false, false, 45, [], 98, ~U[2026-05-28 21:53:49Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Too Powerful For Age Check Laws", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", false, 45, ~U[2026-05-28 21:53:49Z]] 06:54:34.532 [debug] QUERY OK source="sources" db=0.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 06:54:34.534 [debug] QUERY OK source="media_items" db=1.2ms 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-21 19:01:08Z], 45] 06:54:34.535 [debug] QUERY OK source="media_items" db=0.8ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "RCE Bug Found in NGINX (With AI Tools)", "87112ab2-93dc-41ce-8016-b2d5994e96fb", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", 5, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", false, false, false, 45, [], 98, ~U[2026-05-21 19:01:08Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "RCE Bug Found in NGINX (With AI Tools)", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", false, 45, ~U[2026-05-21 19:01:08Z]] 06:54:34.535 [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" = ?) [45] 06:54:34.537 [debug] QUERY OK source="media_items" db=1.1ms 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-16 20:38:24Z], 45] 06:54:34.538 [debug] QUERY OK source="media_items" db=0.8ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "A Hacker Found The BitLocker Backdoor", "1b9a6840-fdff-4767-81f1-886f452a2f6b", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", 6, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", false, false, false, 45, [], 98, ~U[2026-05-16 20:38:24Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "A Hacker Found The BitLocker Backdoor", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", false, 45, ~U[2026-05-16 20:38:24Z]] 06:54:34.538 [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" = ?) [45] 06:54:34.539 [debug] QUERY OK source="media_items" db=1.1ms 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-13 22:13:28Z], 45] 06:54:34.540 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Getting an Emergency Kill Switch", "9c81b8ca-7533-4945-957f-eb998e0cf93d", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", 7, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", false, false, false, 45, [], 98, ~U[2026-05-13 22:13:28Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Getting an Emergency Kill Switch", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", false, 45, ~U[2026-05-13 22:13:28Z]] 06:54:34.541 [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" = ?) [45] 06:54:34.542 [debug] QUERY OK source="media_items" db=1.2ms 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-06 21:25:35Z], 45] 06:54:34.544 [debug] QUERY OK source="media_items" db=1.6ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Copy Fail The Worst Linux Privilege Escalation in Years", "0ea9c1ec-601e-445f-b95b-da1e4c45d15e", "N_ALOVdrAmQ", 556, false, "https://www.youtube.com/watch?v=N_ALOVdrAmQ", 8, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", false, false, false, 45, [], 98, ~U[2026-05-06 21:25:35Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Copy Fail The Worst Linux Privilege Escalation in Years", "N_ALOVdrAmQ", 556, false, "https://www.youtube.com/watch?v=N_ALOVdrAmQ", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", false, 45, ~U[2026-05-06 21:25:35Z]] 06:54:34.544 [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" = ?) [45] 06:54:34.546 [debug] QUERY OK source="media_items" db=1.2ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-02 22:13:26Z], 45] 06:54:34.547 [debug] QUERY OK source="media_items" db=0.7ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Password Manager Situation Is Crazy", "1a13d52f-0ab3-4c67-9773-146d2a07374d", "TwJhkFnROV8", 497, false, "https://www.youtube.com/watch?v=TwJhkFnROV8", 9, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", false, false, false, 45, [], 98, ~U[2026-05-02 22:13:26Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Password Manager Situation Is Crazy", "TwJhkFnROV8", 497, false, "https://www.youtube.com/watch?v=TwJhkFnROV8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", false, 45, ~U[2026-05-02 22:13:26Z]] 06:54:34.547 [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" = ?) [45] 06:54:34.548 [debug] QUERY OK source="media_items" db=1.1ms 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-30 01:19:29Z], 45] 06:54:34.549 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Ubuntu Linux Will Ship With AI", "ea8abb0a-c39d-4ed5-a908-73b6072234d0", "xQO7svoRelw", 523, false, "https://www.youtube.com/watch?v=xQO7svoRelw", 10, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", false, false, false, 45, [], 98, ~U[2026-04-30 01:19:29Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Ubuntu Linux Will Ship With AI", "xQO7svoRelw", 523, false, "https://www.youtube.com/watch?v=xQO7svoRelw", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", false, 45, ~U[2026-04-30 01:19:29Z]] 06:54:34.550 [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" = ?) [45] 06:54:34.551 [debug] QUERY OK source="media_items" db=1.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-04-25 17:27:16Z], 45] 06:54:34.552 [debug] QUERY OK source="media_items" db=0.8ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When The AI Model Comes With RCE", "d1b7c392-41fe-46b3-822e-a1934bd334d9", "u3XlqKBeONY", 543, false, "https://www.youtube.com/watch?v=u3XlqKBeONY", 11, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", false, false, false, 45, [], 98, ~U[2026-04-25 17:27:16Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When The AI Model Comes With RCE", "u3XlqKBeONY", 543, false, "https://www.youtube.com/watch?v=u3XlqKBeONY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", false, 45, ~U[2026-04-25 17:27:16Z]] 06:54:34.552 [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" = ?) [45] 06:54:34.554 [debug] QUERY OK source="media_items" db=1.1ms 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-18 01:28:17Z], 45] 06:54:34.555 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "France Is Ditching Windows for Linux", "4d23d87b-f72e-4827-8c8e-9644645a446a", "ThTJAlYGqkE", 514, false, "https://www.youtube.com/watch?v=ThTJAlYGqkE", 12, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", false, false, false, 45, [], 98, ~U[2026-04-18 01:28:17Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "France Is Ditching Windows for Linux", "ThTJAlYGqkE", 514, false, "https://www.youtube.com/watch?v=ThTJAlYGqkE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", false, 45, ~U[2026-04-18 01:28:17Z]] 06:54:34.555 [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" = ?) [45] 06:54:34.556 [debug] QUERY OK source="media_items" db=1.1ms 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-14 00:29:00Z], 45] 06:54:34.557 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your Home Router Might Be In Danger", "8e702fb4-625e-4ab0-a7b9-36dfc9208e96", "MsAOy_mSp_4", 515, false, "https://www.youtube.com/watch?v=MsAOy_mSp_4", 13, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", false, false, false, 45, [], 98, ~U[2026-04-14 00:29:00Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your Home Router Might Be In Danger", "MsAOy_mSp_4", 515, false, "https://www.youtube.com/watch?v=MsAOy_mSp_4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", false, 45, ~U[2026-04-14 00:29:00Z]] 06:54:34.558 [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" = ?) [45] 06:54:34.559 [debug] QUERY OK source="media_items" db=1.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-04-09 13:02:04Z], 45] 06:54:34.560 [debug] QUERY OK source="media_items" db=0.7ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Install Arch Linux The Lazy Way", "fa492f0b-3dd1-46c6-8972-3b19e82d36fd", "la21SXOll6c", 889, false, "https://www.youtube.com/watch?v=la21SXOll6c", 14, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", false, false, false, 45, [], 98, ~U[2026-04-09 13:02:04Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Install Arch Linux The Lazy Way", "la21SXOll6c", 889, false, "https://www.youtube.com/watch?v=la21SXOll6c", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", false, 45, ~U[2026-04-09 13:02:04Z]] 06:54:34.560 [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" = ?) [45] 06:54:34.562 [debug] QUERY OK source="media_items" db=1.2ms 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-01 00:53:00Z], 45] 06:54:34.563 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Uncomplicated Firewall Guide", "1744ac0a-0c11-42aa-9849-cc33191eaee9", "J6SFrdHOuFM", 659, false, "https://www.youtube.com/watch?v=J6SFrdHOuFM", 15, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", false, false, false, 45, [], 98, ~U[2026-04-01 00:53:00Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Uncomplicated Firewall Guide", "J6SFrdHOuFM", 659, false, "https://www.youtube.com/watch?v=J6SFrdHOuFM", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", false, 45, ~U[2026-04-01 00:53:00Z]] 06:54:34.563 [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" = ?) [45] 06:54:34.564 [debug] QUERY OK source="media_items" db=1.1ms 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-24 21:58:52Z], 45] 06:54:34.565 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Making Linux Ungovernable With I2P", "b88edd5b-049c-4582-82ea-446ea56e84f6", "oc6WOCx1vCE", 1125, false, "https://www.youtube.com/watch?v=oc6WOCx1vCE", 16, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", false, false, false, 45, [], 98, ~U[2026-03-24 21:58:52Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Making Linux Ungovernable With I2P", "oc6WOCx1vCE", 1125, false, "https://www.youtube.com/watch?v=oc6WOCx1vCE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", false, 45, ~U[2026-03-24 21:58:52Z]] 06:54:34.566 [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" = ?) [45] 06:54:34.567 [debug] QUERY OK source="media_items" db=1.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-03-14 23:10:31Z], 45] 06:54:34.568 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Meta Spent Millions To Push The New Age Check Laws", "edd7929a-41c1-44a2-9646-7ebd951f4ee7", "4KyiLyOxux8", 532, false, "https://www.youtube.com/watch?v=4KyiLyOxux8", 17, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", false, false, false, 45, [], 98, ~U[2026-03-14 23:10:31Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Meta Spent Millions To Push The New Age Check Laws", "4KyiLyOxux8", 532, false, "https://www.youtube.com/watch?v=4KyiLyOxux8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", false, 45, ~U[2026-03-14 23:10:31Z]] 06:54:34.568 [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" = ?) [45] 06:54:34.569 [debug] QUERY OK source="media_items" db=1.1ms 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-12 16:23:29Z], 45] 06:54:34.570 [debug] QUERY OK source="media_items" db=0.6ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Online ID Check Situation is Crazy", "6ea23c42-a80c-4d11-a04c-f3b7dfe577d7", "hiMqdYh9LNU", 526, false, "https://www.youtube.com/watch?v=hiMqdYh9LNU", 18, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", false, false, false, 45, [], 98, ~U[2026-03-12 16:23:29Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Online ID Check Situation is Crazy", "hiMqdYh9LNU", 526, false, "https://www.youtube.com/watch?v=hiMqdYh9LNU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", false, 45, ~U[2026-03-12 16:23:29Z]] 06:54:34.571 [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" = ?) [45] 06:54:34.572 [debug] QUERY OK source="media_items" db=1.0ms 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-10 22:51:53Z], 45] 06:54:34.573 [debug] QUERY OK source="media_items" db=0.7ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Installing Linux Just Got Easier", "88486111-ea06-4d7b-a1f1-1c9ad66f09f0", "K3QOAVrhGTg", 1142, false, "https://www.youtube.com/watch?v=K3QOAVrhGTg", 19, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", false, false, false, 45, [], 98, ~U[2026-03-10 22:51:53Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Installing Linux Just Got Easier", "K3QOAVrhGTg", 1142, false, "https://www.youtube.com/watch?v=K3QOAVrhGTg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", false, 45, ~U[2026-03-10 22:51:53Z]] 06:54:34.573 [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" = ?) [45] 06:54:34.574 [debug] QUERY OK source="media_items" db=1.1ms 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-03-05 20:52:32Z], 45] 06:54:34.576 [debug] QUERY OK source="media_items" db=0.9ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how states are passing laws that would require users to submit their age in order to use an operating system, and how this will affect the free software community.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Online Age Checks Are Going Too Far", "8ba4de68-da78-4c2c-85ce-acff35693683", "QKzRf8B-oDk", 579, false, "https://www.youtube.com/watch?v=QKzRf8B-oDk", 20, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e030500_Online Age Checks Are Going Too Far.mp4", false, false, false, 45, [], 98, ~U[2026-03-05 20:52:32Z], ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], "In this video I discuss how states are passing laws that would require users to submit their age in order to use an operating system, and how this will affect the free software community.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Online Age Checks Are Going Too Far", "QKzRf8B-oDk", 579, false, "https://www.youtube.com/watch?v=QKzRf8B-oDk", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e030500_Online Age Checks Are Going Too Far.mp4", false, 45, ~U[2026-03-05 20:52:32Z]] 06:54:34.576 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z], 45] 06:54:34.577 [debug] QUERY OK source="media_items" db=1.3ms 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")))) [45] 06:54:34.579 [debug] QUERY OK source="media_items" db=1.2ms idle=4.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")))) [45] 06:54:34.579 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [45] 06:54:34.580 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419781, 45, ~U[2026-06-29 11:54:34Z], ~U[2026-06-29 11:54:34Z]] 06:54:34.581 [info] {"args":{"id":45},"id":419689,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":42199887,"event":"job:stop","queue_time":974756,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 06:54:38.441 [info] {"args":{"id":3012876},"id":419779,"meta":{},"system_time":1782734078441604073,"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"]} 06:54:38.441 [debug] QUERY OK source="media_items" db=0.1ms idle=500.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" = ?) [3012876] 06:54:38.442 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:54:38.442 [debug] QUERY OK source="sources" db=0.1ms idle=501.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:54:38.442 [debug] QUERY OK source="media_profiles" db=0.1ms idle=501.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:54:38.443 [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 [3012876] 06:54:38.443 [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" = ?) [3012876] 06:54:38.444 [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] 06:54:38.444 [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 [] 06:54:38.444 [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 [] 06:54:38.444 [debug] Running yt-dlp command for action: get_downloadable_status 06:54:38.445 [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 [] 06:54:38.445 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:54:38.445 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:54:38.445 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/79/9479258cf6e6de593139df755374d84cf16d10a8bbb2c81c867628706e48bc63.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:54:40.143 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/79/9479258cf6e6de593139df755374d84cf16d10a8bbb2c81c867628706e48bc63.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:54:40.143 [error] yt-dlp download error for media item #3012876: "ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:54:40.144 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3012876},"id":419779,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1702025,"event":"job:exception","queue_time":194349,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:54:52.488 [info] {"source":"oban","duration":7506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:55:00.017 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:55:03.482 [info] {"args":{"id":3012876},"id":419779,"meta":{},"system_time":1782734103482416967,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:03.482 [debug] QUERY OK source="media_items" db=0.2ms idle=1541.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" = ?) [3012876] 06:55:03.483 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:03.483 [debug] QUERY OK source="sources" db=0.6ms idle=1542.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:55:03.484 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1010.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:03.484 [debug] QUERY OK source="media_items" db=0.2ms idle=9.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 [3012876] 06:55:03.485 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [3012876] 06:55:03.486 [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] 06:55:03.486 [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 [] 06:55:03.486 [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 [] 06:55:03.486 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:03.487 [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 [] 06:55:03.487 [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 [] 06:55:03.488 [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 [] 06:55:03.488 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/d1/dbd1c532df6cbd2f20131e6760d1a0fe4fcb367752bad386ab31c8af3682704f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:05.228 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/d1/dbd1c532df6cbd2f20131e6760d1a0fe4fcb367752bad386ab31c8af3682704f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:55:05.228 [error] yt-dlp download error for media item #3012876: "ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:55:05.228 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3012876},"id":419779,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1746007,"event":"job:exception","queue_time":337302,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:18.506 [info] {"args":{"id":52},"id":419776,"meta":{},"system_time":1782734118505911333,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:55:18.506 [debug] QUERY OK source="sources" db=0.1ms idle=1565.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:55:18.506 [debug] QUERY OK source="settings" db=0.1ms idle=1565.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:55:18.507 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:18.507 [debug] QUERY OK source="settings" db=0.1ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:55:18.507 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 06:55:18.555 [debug] Media ids fetched from RSS: ["HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 06:55:18.556 [debug] QUERY OK source="media_items" db=0.4ms idle=49.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 06:55:18.557 [debug] QUERY OK source="media_items" db=0.6ms idle=49.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")))) [52] 06:55:18.559 [debug] QUERY OK source="tasks" db=0.1ms idle=52.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419782, 1301334, ~U[2026-06-29 11:55:18Z], ~U[2026-06-29 11:55:18Z]] 06:55:18.562 [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" [419783, 1301335, ~U[2026-06-29 11:55:18Z], ~U[2026-06-29 11:55:18Z]] 06:55:18.564 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419784, 1301347, ~U[2026-06-29 11:55:18Z], ~U[2026-06-29 11:55:18Z]] 06:55:18.567 [debug] QUERY OK source="tasks" db=0.1ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419785, 1301392, ~U[2026-06-29 11:55:18Z], ~U[2026-06-29 11:55:18Z]] 06:55:18.568 [info] {"args":{"id":1301334},"id":419782,"meta":{},"system_time":1782734118568245951,"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"]} 06:55:18.568 [info] {"args":{"id":1301335},"id":419783,"meta":{},"system_time":1782734118568292271,"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"]} 06:55:18.568 [debug] QUERY OK source="media_items" db=0.4ms idle=1.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 06:55:18.569 [debug] QUERY OK source="media_items" db=0.6ms 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" = ?) [1301334] 06:55:18.569 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:18.569 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:18.569 [debug] QUERY OK source="sources" db=0.4ms idle=1.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:55:18.569 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [52] 06:55:18.570 [debug] QUERY OK source="media_profiles" db=0.4ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:18.570 [debug] QUERY OK source="media_profiles" db=0.4ms idle=0.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:18.570 [debug] QUERY OK source="tasks" db=0.3ms idle=0.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419786, 1301393, ~U[2026-06-29 11:55:18Z], ~U[2026-06-29 11:55:18Z]] 06:55:18.571 [debug] QUERY OK source="media_items" db=0.5ms 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 [1301335] 06:55:18.571 [debug] QUERY OK source="media_items" db=0.5ms idle=0.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 [1301334] 06:55:18.571 [debug] QUERY OK source="media_metadata" db=0.1ms idle=0.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" = ?) [1301335] 06:55:18.571 [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] 06:55:18.572 [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 [] 06:55:18.572 [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 [] 06:55:18.573 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:18.573 [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" [419787, 1301394, ~U[2026-06-29 11:55:18Z], ~U[2026-06-29 11:55:18Z]] 06:55:18.573 [debug] QUERY OK source="media_metadata" db=0.2ms 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" = ?) [1301334] 06:55:18.574 [debug] QUERY OK source="settings" db=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:55:18.574 [debug] QUERY OK source="media_profiles" db=0.5ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:18.574 [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 [] 06:55:18.575 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:55:18.575 [debug] QUERY OK source="settings" db=0.2ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:55:18.575 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fc/2f/fc2fedad570fc04367eed3ae765250cc5d69714db4e360756f597b0d9cbd8184.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:18.575 [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 [] 06:55:18.575 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:18.576 [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 [] 06:55:18.576 [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 [] 06:55:18.576 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:55:18.576 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e6/3c/e63cb55660947fd6ca297ad19c5b8d3136fbdd3af040d4b4d1da92b0d9932b51.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:18.577 [debug] QUERY OK source="tasks" db=0.1ms idle=0.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419788, 1301395, ~U[2026-06-29 11:55:18Z], ~U[2026-06-29 11:55:18Z]] 06:55:18.580 [debug] QUERY OK source="tasks" db=0.1ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419789, 1301397, ~U[2026-06-29 11:55:18Z], ~U[2026-06-29 11:55:18Z]] 06:55:18.582 [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" [419790, 1301398, ~U[2026-06-29 11:55:18Z], ~U[2026-06-29 11:55:18Z]] 06:55:18.584 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419791, 1301399, ~U[2026-06-29 11:55:18Z], ~U[2026-06-29 11:55:18Z]] 06:55:18.587 [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" [419792, 1301400, ~U[2026-06-29 11:55:18Z], ~U[2026-06-29 11:55:18Z]] 06:55:18.589 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419793, 2720968, ~U[2026-06-29 11:55:18Z], ~U[2026-06-29 11:55:18Z]] 06:55:18.590 [debug] QUERY OK source="tasks" db=0.2ms idle=1.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419794, 52, ~U[2026-06-29 11:55:18Z], ~U[2026-06-29 11:55:18Z]] 06:55:18.590 [info] {"args":{"id":52},"id":419776,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":84575,"event":"job:stop","queue_time":788752,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 06:55:20.274 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e6/3c/e63cb55660947fd6ca297ad19c5b8d3136fbdd3af040d4b4d1da92b0d9932b51.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:55:20.274 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:20.274 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:20.274 [info] {"args":{"id":1301334},"id":419782,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1706304,"event":"job:stop","queue_time":565100,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:20.276 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fc/2f/fc2fedad570fc04367eed3ae765250cc5d69714db4e360756f597b0d9cbd8184.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:55:20.276 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:20.276 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:20.276 [info] {"args":{"id":1301335},"id":419783,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1708107,"event":"job:stop","queue_time":565100,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:20.281 [info] {"args":{"id":1301347},"id":419784,"meta":{},"system_time":1782734120281693529,"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"]} 06:55:20.282 [info] {"args":{"id":1301392},"id":419785,"meta":{},"system_time":1782734120281752133,"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"]} 06:55:20.282 [debug] QUERY OK source="media_items" db=0.3ms idle=340.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" = ?) [1301347] 06:55:20.282 [debug] QUERY OK source="media_items" db=0.3ms idle=340.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" = ?) [1301392] 06:55:20.282 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:20.282 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:20.283 [debug] QUERY OK source="sources" db=0.3ms idle=7.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:55:20.283 [debug] QUERY OK source="sources" db=0.3ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:55:20.283 [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] 06:55:20.283 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:20.283 [debug] QUERY OK source="media_items" db=0.3ms idle=1.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1301347] 06:55:20.283 [debug] QUERY OK source="media_items" db=0.3ms idle=0.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 [1301392] 06:55:20.284 [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" = ?) [1301347] 06:55:20.284 [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] 06:55:20.285 [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 [] 06:55:20.285 [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 [] 06:55:20.285 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:20.286 [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" = ?) [1301392] 06:55:20.286 [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] 06:55:20.286 [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 [] 06:55:20.286 [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 [] 06:55:20.286 [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 [] 06:55:20.286 [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 [] 06:55:20.286 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:20.286 [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 [] 06:55:20.287 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/92/95/929585bb2b8d08ffdcc56c243fd92bf46069c99feec4388d96b822db982f468a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:20.288 [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 [] 06:55:20.288 [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 [] 06:55:20.288 [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 [] 06:55:20.288 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e0/00/e000fdda1419796dcfce29e0dae401cacbe528f3592781688ff1ff85d9567992.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:22.041 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/92/95/929585bb2b8d08ffdcc56c243fd92bf46069c99feec4388d96b822db982f468a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:55:22.041 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:22.041 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:22.041 [info] {"args":{"id":1301347},"id":419784,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1759719,"event":"job:stop","queue_time":2280938,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:22.048 [info] {"args":{"id":1301393},"id":419786,"meta":{},"system_time":1782734122048807642,"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"]} 06:55:22.049 [debug] QUERY OK source="media_items" db=0.1ms idle=107.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" = ?) [1301393] 06:55:22.049 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:22.049 [debug] QUERY OK source="sources" db=0.1ms idle=108.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:55:22.049 [debug] QUERY OK source="media_profiles" db=0.1ms idle=108.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:22.050 [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 [1301393] 06:55:22.051 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301393] 06:55:22.051 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 06:55:22.052 [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 [] 06:55:22.052 [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 [] 06:55:22.052 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:22.053 [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 [] 06:55:22.053 [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 [] 06:55:22.053 [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 [] 06:55:22.053 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/80/e9805defaef2c8be2d14b2924bcbd01a898ce048def46b3918288afbbbbd356c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:22.301 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e0/00/e000fdda1419796dcfce29e0dae401cacbe528f3592781688ff1ff85d9567992.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:55:22.301 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:22.301 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:22.301 [info] {"args":{"id":1301392},"id":419785,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2019749,"event":"job:stop","queue_time":2280938,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:22.308 [info] {"args":{"id":1301394},"id":419787,"meta":{},"system_time":1782734122308522146,"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"]} 06:55:22.308 [debug] QUERY OK source="media_items" db=0.1ms idle=255.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" = ?) [1301394] 06:55:22.309 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:22.309 [debug] QUERY OK source="sources" db=0.2ms idle=255.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:55:22.309 [debug] QUERY OK source="media_profiles" db=0.1ms idle=255.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:22.310 [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 [1301394] 06:55:22.310 [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" = ?) [1301394] 06:55:22.311 [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] 06:55:22.311 [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 [] 06:55:22.311 [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 [] 06:55:22.311 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:22.312 [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 [] 06:55:22.312 [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 [] 06:55:22.312 [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 [] 06:55:22.312 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/47/7d/477da649ca026acf1ec008b3534f6cf169f789237086dec8f6b696cd0d700b40.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:22.496 [info] {"source":"oban","duration":7782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:23.800 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/80/e9805defaef2c8be2d14b2924bcbd01a898ce048def46b3918288afbbbbd356c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:55:23.800 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:23.800 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:23.800 [info] {"args":{"id":1301393},"id":419786,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1751517,"event":"job:stop","queue_time":4047949,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:23.808 [info] {"args":{"id":1301395},"id":419788,"meta":{},"system_time":1782734123808111919,"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"]} 06:55:23.809 [debug] QUERY OK source="media_items" db=0.6ms idle=1311.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" = ?) [1301395] 06:55:23.809 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:23.809 [debug] QUERY OK source="sources" db=0.1ms idle=1303.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:55:23.809 [debug] QUERY OK source="media_profiles" db=0.2ms idle=301.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:23.810 [debug] QUERY OK source="media_items" db=0.2ms idle=9.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 [1301395] 06:55:23.811 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301395] 06:55:23.811 [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] 06:55:23.812 [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 [] 06:55:23.812 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:55:23.812 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:23.813 [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 [] 06:55:23.813 [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 [] 06:55:23.813 [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 [] 06:55:23.814 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1a/39/1a39303e9def0ba86e80ce4a4052ef187ea433c5206f1915a5d9fe3780e2666d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:24.344 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/47/7d/477da649ca026acf1ec008b3534f6cf169f789237086dec8f6b696cd0d700b40.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:55:24.344 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:24.344 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:24.344 [info] {"args":{"id":1301394},"id":419787,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2035820,"event":"job:stop","queue_time":4307891,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:24.350 [info] {"args":{"id":1301397},"id":419789,"meta":{},"system_time":1782734124350570969,"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"]} 06:55:24.350 [debug] QUERY OK source="media_items" db=0.1ms idle=537.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" = ?) [1301397] 06:55:24.351 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:24.351 [debug] QUERY OK source="sources" db=0.1ms idle=537.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:55:24.351 [debug] QUERY OK source="media_profiles" db=0.1ms idle=537.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:24.352 [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 [1301397] 06:55:24.353 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.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" = ?) [1301397] 06:55:24.353 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:24.353 [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 [] 06:55:24.354 [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 [] 06:55:24.354 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:24.355 [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 [] 06:55:24.355 [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 [] 06:55:24.355 [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 [] 06:55:24.355 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/63/9d/639de0af080f5e92c84341dc843c3d61ab3db9549fb3317db0ebdf55230cf39f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:25.546 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1a/39/1a39303e9def0ba86e80ce4a4052ef187ea433c5206f1915a5d9fe3780e2666d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:55:25.546 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:25.546 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:25.546 [info] {"args":{"id":1301395},"id":419788,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1738301,"event":"job:stop","queue_time":5806933,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:25.553 [info] {"args":{"id":1301398},"id":419790,"meta":{},"system_time":1782734125553561789,"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"]} 06:55:25.553 [debug] QUERY OK source="media_items" db=0.1ms idle=1198.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" = ?) [1301398] 06:55:25.554 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:25.554 [debug] QUERY OK source="sources" db=0.1ms idle=1045.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:55:25.554 [debug] QUERY OK source="media_profiles" db=0.1ms idle=44.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:25.554 [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 [1301398] 06:55:25.556 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301398] 06:55:25.556 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:25.557 [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 [] 06:55:25.557 [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 [] 06:55:25.557 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:25.558 [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 [] 06:55:25.558 [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 [] 06:55:25.558 [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 [] 06:55:25.558 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/50/4e/504ee32b5d115293250c5976b62b9a20571f924e6fea236aef0d59e51adad2d5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:26.043 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/63/9d/639de0af080f5e92c84341dc843c3d61ab3db9549fb3317db0ebdf55230cf39f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:55:26.043 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:26.044 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:26.044 [info] {"args":{"id":1301397},"id":419789,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1693514,"event":"job:stop","queue_time":6349945,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:26.050 [info] {"args":{"id":1301399},"id":419791,"meta":{},"system_time":1782734126050615043,"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"]} 06:55:26.051 [debug] QUERY OK source="media_items" db=0.1ms idle=492.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" = ?) [1301399] 06:55:26.051 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:26.051 [debug] QUERY OK source="sources" db=0.1ms idle=492.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:55:26.051 [debug] QUERY OK source="media_profiles" db=0.1ms idle=493.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:26.052 [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 [1301399] 06:55:26.053 [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" = ?) [1301399] 06:55:26.053 [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] 06:55:26.053 [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 [] 06:55:26.053 [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 [] 06:55:26.054 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:26.055 [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 [] 06:55:26.055 [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 [] 06:55:26.055 [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 [] 06:55:26.055 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/aa/73/aa73025ed7529557956dff7f397ad65a998776a1bf5e51e5baf8b128f66485e3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:27.281 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/50/4e/504ee32b5d115293250c5976b62b9a20571f924e6fea236aef0d59e51adad2d5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:55:27.281 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:27.282 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:27.282 [info] {"args":{"id":1301398},"id":419790,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1728606,"event":"job:stop","queue_time":7552945,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:27.288 [info] {"args":{"id":1301400},"id":419792,"meta":{},"system_time":1782734127288595297,"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"]} 06:55:27.288 [debug] QUERY OK source="media_items" db=0.1ms idle=1233.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" = ?) [1301400] 06:55:27.289 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:27.289 [debug] QUERY OK source="sources" db=0.2ms idle=1233.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:55:27.289 [debug] QUERY OK source="media_profiles" db=0.1ms idle=777.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:27.290 [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 [1301400] 06:55:27.291 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301400] 06:55:27.291 [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] 06:55:27.291 [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 [] 06:55:27.291 [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 [] 06:55:27.291 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:27.292 [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 [] 06:55:27.292 [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 [] 06:55:27.292 [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 [] 06:55:27.293 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/67/dd6794785872cd7180160aaa2585a6f2b197074764ce412b8692389ea1fef405.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:27.954 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/aa/73/aa73025ed7529557956dff7f397ad65a998776a1bf5e51e5baf8b128f66485e3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:55:27.954 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:27.954 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:27.954 [info] {"args":{"id":1301399},"id":419791,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1903820,"event":"job:stop","queue_time":8049944,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:27.961 [info] {"args":{"id":2720968},"id":419793,"meta":{},"system_time":1782734127961548215,"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"]} 06:55:27.961 [debug] QUERY OK source="media_items" db=0.1ms idle=668.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2720968] 06:55:27.962 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:27.962 [debug] QUERY OK source="sources" db=0.1ms idle=669.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 06:55:27.962 [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] 06:55:27.962 [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 [2720968] 06:55:27.964 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [2720968] 06:55:27.964 [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] 06:55:27.964 [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 [] 06:55:27.964 [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 [] 06:55:27.964 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:27.965 [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 [] 06:55:27.965 [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 [] 06:55:27.965 [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 [] 06:55:27.965 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/7a/fe7a658dc2c22b9d5b19d1f4e0acfa7be9c281c75d4d7d4fe126744571d3311b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:29.050 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/67/dd6794785872cd7180160aaa2585a6f2b197074764ce412b8692389ea1fef405.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:55:29.050 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:29.050 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:29.051 [info] {"args":{"id":1301400},"id":419792,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1762297,"event":"job:stop","queue_time":9287937,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:29.721 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/7a/fe7a658dc2c22b9d5b19d1f4e0acfa7be9c281c75d4d7d4fe126744571d3311b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 06:55:29.721 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:29.721 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 06:55:29.722 [info] {"args":{"id":2720968},"id":419793,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1759938,"event":"job:stop","queue_time":9960888,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:36.533 [info] {"args":{"id":3012876},"id":419779,"meta":{},"system_time":1782734136533052114,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:36.533 [debug] QUERY OK source="media_items" db=0.1ms idle=1592.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" = ?) [3012876] 06:55:36.533 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:55:36.533 [debug] QUERY OK source="sources" db=0.1ms idle=1592.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:55:36.534 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:55:36.534 [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 [3012876] 06:55:36.535 [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" = ?) [3012876] 06:55:36.535 [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] 06:55:36.535 [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 [] 06:55:36.535 [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 [] 06:55:36.536 [debug] Running yt-dlp command for action: get_downloadable_status 06:55:36.537 [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 [] 06:55:36.537 [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 [] 06:55:36.537 [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 [] 06:55:36.537 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cd/1b/cd1bef053c67e628a48909422714b395f503961c59f353a574dd6504c087f68a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:55:38.433 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cd/1b/cd1bef053c67e628a48909422714b395f503961c59f353a574dd6504c087f68a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:55:38.433 [error] yt-dlp download error for media item #3012876: "ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:55:38.433 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3012876},"id":419779,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1900399,"event":"job:exception","queue_time":303507,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:55:52.506 [info] {"source":"oban","duration":9362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.019 [info] {"source":"oban","duration":890,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:56:22.515 [info] {"source":"oban","duration":8029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 06:56:28.610 [info] {"args":{"id":3012876},"id":419779,"meta":{},"system_time":1782734188610407021,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:56:28.610 [debug] QUERY OK source="media_items" db=0.2ms idle=669.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" = ?) [3012876] 06:56:28.610 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:56:28.611 [debug] QUERY OK source="sources" db=0.1ms idle=670.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:56:28.611 [debug] QUERY OK source="media_profiles" db=0.2ms idle=670.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:56:28.612 [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 [3012876] 06:56:28.613 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [3012876] 06:56:28.614 [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] 06:56:28.614 [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 [] 06:56:28.614 [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 [] 06:56:28.614 [debug] Running yt-dlp command for action: get_downloadable_status 06:56:28.616 [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 [] 06:56:28.616 [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 [] 06:56:28.616 [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 [] 06:56:28.616 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/49/dd/49dd914be58d6670f742bfb8e4b1c9dbf7abdb4e5fb7d2c95de840ae14bee73b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:56:30.289 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/49/dd/49dd914be58d6670f742bfb8e4b1c9dbf7abdb4e5fb7d2c95de840ae14bee73b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:56:30.289 [error] yt-dlp download error for media item #3012876: "ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:56:30.290 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3012876},"id":419779,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1679522,"event":"job:exception","queue_time":175439,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:56:34.620 [info] {"args":{"id":36},"id":419517,"meta":{},"system_time":1782734194620555989,"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"]} 06:56:34.621 [debug] QUERY OK source="sources" db=0.2ms idle=679.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:34.621 [debug] QUERY OK source="settings" db=0.1ms idle=680.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:56:34.624 [debug] QUERY OK source="media_items" db=3.3ms idle=680.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")))) [36] 06:56:34.625 [debug] QUERY OK source="media_items" db=0.2ms idle=10.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 06:56:34.625 [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] 06:56:34.625 [debug] QUERY OK source="settings" db=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:56:34.625 [debug] QUERY OK source="settings" db=0.0ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:56:34.628 [debug] QUERY OK source="media_items" db=1.2ms 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 [36] 06:56:34.630 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 06:56:34.630 [debug] Current batch of media processed. Will check again in 1000ms 06:56:34.630 [debug] QUERY OK source="settings" db=0.0ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:56:34.630 [debug] QUERY OK source="settings" db=0.0ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:56:34.630 [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 [] 06:56:34.630 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCsBjURrPoezykLs9EqgamOA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/a5/15/a515d75aa2725747238403e94f212595cde3b6fa75a2617c9976987a34d4592c.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b0/27/b0271749204a6be99d6f5f2d9227c8fa6de8190e40dcfa8b341a452e4e3e4531.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:56:35.630 [debug] Current batch of media processed. Will check again in 1000ms 06:56:36.632 [debug] Current batch of media processed. Will check again in 1000ms 06:56:37.632 [debug] Current batch of media processed. Will check again in 1000ms 06:56:38.634 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Try out Retool's new AI app builder to safely connect your apps to your team's data and APIs - https://fandf.co/4e2lDe2\n\nFounder of Midjourney, David Holz, just announced plans to make a new medical imaging device capable of full body scans which he claims is faster and cheaper than an MRI. But how does it work, if at all?\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- Midjourney Medical\n- Fullbody Ultrasonic Computational Tomography (FUCT)\n- Midjourney Spa\n- Will it work?\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 326, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e062300_Midjourney has a new side quest... death.mp4", "id" => "a2i9h2ip-nY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=a2i9h2ip-nY", "playlist_index" => 1, "timestamp" => 1782233210, "title" => "Midjourney has a new side quest... death", "upload_date" => "20260623"} 06:56:38.634 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=693.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:56:38.635 [debug] QUERY OK source="sources" db=0.1ms idle=694.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:38.636 [debug] QUERY OK source="media_items" db=1.4ms idle=694.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-23 16:46:50Z], 36] 06:56:38.637 [debug] QUERY OK source="media_items" db=0.7ms idle=695.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try out Retool's new AI app builder to safely connect your apps to your team's data and APIs - https://fandf.co/4e2lDe2\n\nFounder of Midjourney, David Holz, just announced plans to make a new medical imaging device capable of full body scans which he claims is faster and cheaper than an MRI. But how does it work, if at all?\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- Midjourney Medical\n- Fullbody Ultrasonic Computational Tomography (FUCT)\n- Midjourney Spa\n- Will it work?\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Midjourney has a new side quest... death", "c2bae408-48bd-4b6e-b860-2b232ccc4015", "a2i9h2ip-nY", 326, false, "https://www.youtube.com/watch?v=a2i9h2ip-nY", 1, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e062300_Midjourney has a new side quest... death.mp4", false, false, false, 36, [], 98, ~U[2026-06-23 16:46:50Z], ~U[2026-06-29 11:56:38Z], ~U[2026-06-29 11:56:38Z], "Try out Retool's new AI app builder to safely connect your apps to your team's data and APIs - https://fandf.co/4e2lDe2\n\nFounder of Midjourney, David Holz, just announced plans to make a new medical imaging device capable of full body scans which he claims is faster and cheaper than an MRI. But how does it work, if at all?\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- Midjourney Medical\n- Fullbody Ultrasonic Computational Tomography (FUCT)\n- Midjourney Spa\n- Will it work?\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Midjourney has a new side quest... death", "a2i9h2ip-nY", 326, false, "https://www.youtube.com/watch?v=a2i9h2ip-nY", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e062300_Midjourney has a new side quest... death.mp4", false, 36, ~U[2026-06-23 16:46:50Z]] 06:56:38.638 [debug] QUERY OK source="sources" db=0.2ms idle=18.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:56:38.638 [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] 06:56:38.638 [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 [3266035] 06:56:38.638 [debug] Current batch of media processed. Will check again in 1000ms 06:56:39.640 [debug] Current batch of media processed. Will check again in 1000ms 06:56:40.641 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Junie is the #1 coding agent on SWE-Rebench and it'll save you a bunch of tokens - https://jb.gg/Fireship-Junie-GA\n\nUse code: FIRESHIP20 to to get 20 free AI credits\n\nSQLite, the world's most trusted code, just got rewritten in Rust and it actually works. It's called Turso and it ships some cool features you won't find in SQLite.\n\n#coding #programming #technology \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 319, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061900_The most trusted code on Earth is being rewritten in Rust.mp4", "id" => "Sntj4HmuykI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Sntj4HmuykI", "playlist_index" => 2, "timestamp" => 1781889887, "title" => "The most trusted code on Earth is being rewritten in Rust", "upload_date" => "20260619"} 06:56:40.641 [debug] QUERY OK source="sources" db=0.1ms idle=700.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:56:40.641 [debug] QUERY OK source="sources" db=0.1ms idle=700.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:40.643 [debug] QUERY OK source="media_items" db=1.3ms idle=700.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-19 17:24:47Z], 36] 06:56:40.644 [debug] QUERY OK source="media_items" db=0.6ms idle=702.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Junie is the #1 coding agent on SWE-Rebench and it'll save you a bunch of tokens - https://jb.gg/Fireship-Junie-GA\n\nUse code: FIRESHIP20 to to get 20 free AI credits\n\nSQLite, the world's most trusted code, just got rewritten in Rust and it actually works. It's called Turso and it ships some cool features you won't find in SQLite.\n\n#coding #programming #technology \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The most trusted code on Earth is being rewritten in Rust", "b400a1a4-6d47-48ca-8465-2e116a8d66b0", "Sntj4HmuykI", 319, false, "https://www.youtube.com/watch?v=Sntj4HmuykI", 2, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061900_The most trusted code on Earth is being rewritten in Rust.mp4", false, false, false, 36, [], 98, ~U[2026-06-19 17:24:47Z], ~U[2026-06-29 11:56:40Z], ~U[2026-06-29 11:56:40Z], "Junie is the #1 coding agent on SWE-Rebench and it'll save you a bunch of tokens - https://jb.gg/Fireship-Junie-GA\n\nUse code: FIRESHIP20 to to get 20 free AI credits\n\nSQLite, the world's most trusted code, just got rewritten in Rust and it actually works. It's called Turso and it ships some cool features you won't find in SQLite.\n\n#coding #programming #technology \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The most trusted code on Earth is being rewritten in Rust", "Sntj4HmuykI", 319, false, "https://www.youtube.com/watch?v=Sntj4HmuykI", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061900_The most trusted code on Earth is being rewritten in Rust.mp4", false, 36, ~U[2026-06-19 17:24:47Z]] 06:56:40.644 [debug] QUERY OK source="sources" db=0.1ms idle=22.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:56:40.644 [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] 06:56:40.645 [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 [3235295] 06:56:40.645 [debug] Current batch of media processed. Will check again in 1000ms 06:56:41.646 [debug] Current batch of media processed. Will check again in 1000ms 06:56:42.647 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Coder lets you self-host your coding agents with enterprise-grade security - https://fandf.co/4tZvtU5\n\nThese 10 mind-blowing computer science papers made everything in modern computing possible. In today's video, we'll take a look at how they changed the world for better or worse. \n\n#coding #programming #computerscience #computer \n\n🔖 Topics Covered\n\n- On Computable Numbers, with an Application to the Entscheidungsproblem, Alan Turing 1936\n- A Mathematical Theory of Communication, Claude Shannon 1948\n- The Perceptron, Rosenblatt 1958 \n- Perceptrons, Marvin Minsky and Seymour Papert 1969 \n- Time, Clocks, and the Ordering of Events in a Distributed System, Leslie Lamport 1978\n- Learning representations by back-propagating errors, Rumelhart, Hinton, Williams 1986 \n- The Anatomy of a Large-Scale Hypertextual Web Search Engine, Sergey Brin and Larry Page 1998 \n- ImageNet Classification with Deep Convolutional Neural Networks, Krizhevsky, Sutskever, Hinton 2012 \n- Attention Is All You Need, Vaswani, Google 2017 \n- Language Models are Few-Shot Learners, Brown, OpenAI 2020\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 611, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061700_I read every major CS paper of the last 100 years....mp4", "id" => "ML3q7Ok4hJg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ML3q7Ok4hJg", "playlist_index" => 3, "timestamp" => 1781713741, "title" => "I read every major CS paper of the last 100 years...", "upload_date" => "20260617"} 06:56:42.647 [debug] QUERY OK source="sources" db=0.2ms idle=706.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:56:42.648 [debug] QUERY OK source="sources" db=0.0ms idle=706.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:42.649 [debug] QUERY OK source="media_items" db=1.3ms idle=707.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-17 16:29:01Z], 36] 06:56:42.650 [debug] QUERY OK source="media_items" db=0.9ms idle=708.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Coder lets you self-host your coding agents with enterprise-grade security - https://fandf.co/4tZvtU5\n\nThese 10 mind-blowing computer science papers made everything in modern computing possible. In today's video, we'll take a look at how they changed the world for better or worse. \n\n#coding #programming #computerscience #computer \n\n🔖 Topics Covered\n\n- On Computable Numbers, with an Application to the Entscheidungsproblem, Alan Turing 1936\n- A Mathematical Theory of Communication, Claude Shannon 1948\n- The Perceptron, Rosenblatt 1958 \n- Perceptrons, Marvin Minsky and Seymour Papert 1969 \n- Time, Clocks, and the Ordering of Events in a Distributed System, Leslie Lamport 1978\n- Learning representations by back-propagating errors, Rumelhart, Hinton, Williams 1986 \n- The Anatomy of a Large-Scale Hypertextual Web Search Engine, Sergey Brin and Larry Page 1998 \n- ImageNet Classification with Deep Convolutional Neural Networks, Krizhevsky, Sutskever, Hinton 2012 \n- Attention Is All You Need, Vaswani, Google 2017 \n- Language Models are Few-Shot Learners, Brown, OpenAI 2020\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I read every major CS paper of the last 100 years...", "c7498291-31f0-4311-aba3-e6b1234c9ac6", "ML3q7Ok4hJg", 611, false, "https://www.youtube.com/watch?v=ML3q7Ok4hJg", 3, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061700_I read every major CS paper of the last 100 years....mp4", false, false, false, 36, [], 98, ~U[2026-06-17 16:29:01Z], ~U[2026-06-29 11:56:42Z], ~U[2026-06-29 11:56:42Z], "Coder lets you self-host your coding agents with enterprise-grade security - https://fandf.co/4tZvtU5\n\nThese 10 mind-blowing computer science papers made everything in modern computing possible. In today's video, we'll take a look at how they changed the world for better or worse. \n\n#coding #programming #computerscience #computer \n\n🔖 Topics Covered\n\n- On Computable Numbers, with an Application to the Entscheidungsproblem, Alan Turing 1936\n- A Mathematical Theory of Communication, Claude Shannon 1948\n- The Perceptron, Rosenblatt 1958 \n- Perceptrons, Marvin Minsky and Seymour Papert 1969 \n- Time, Clocks, and the Ordering of Events in a Distributed System, Leslie Lamport 1978\n- Learning representations by back-propagating errors, Rumelhart, Hinton, Williams 1986 \n- The Anatomy of a Large-Scale Hypertextual Web Search Engine, Sergey Brin and Larry Page 1998 \n- ImageNet Classification with Deep Convolutional Neural Networks, Krizhevsky, Sutskever, Hinton 2012 \n- Attention Is All You Need, Vaswani, Google 2017 \n- Language Models are Few-Shot Learners, Brown, OpenAI 2020\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I read every major CS paper of the last 100 years...", "ML3q7Ok4hJg", 611, false, "https://www.youtube.com/watch?v=ML3q7Ok4hJg", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061700_I read every major CS paper of the last 100 years....mp4", false, 36, ~U[2026-06-17 16:29:01Z]] 06:56:42.651 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [36] 06:56:42.651 [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] 06:56:42.651 [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 [3218450] 06:56:42.651 [debug] Current batch of media processed. Will check again in 1000ms 06:56:43.652 [debug] Current batch of media processed. Will check again in 1000ms 06:56:44.653 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Take BlueDot's Future of AI course for free - https://bluedot.org/fireship\n\nJust three days after the release of Claude Fable, the US government stepped in and banned it in the name of national security. But why?\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- What makes Fable allegedly unsafe?\n- Fable Jailbreak\n- Fable gets banned\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 314, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061500_One man just liberated Fable... and now it’s illegal.mp4", "id" => "ey_GaPdC9zk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ey_GaPdC9zk", "playlist_index" => 4, "timestamp" => 1781548558, "title" => "One man just liberated Fable... and now it’s illegal", "upload_date" => "20260615"} 06:56:44.653 [debug] QUERY OK source="sources" db=0.1ms idle=711.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:56:44.653 [debug] QUERY OK source="sources" db=0.1ms idle=712.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:44.655 [debug] QUERY OK source="media_items" db=1.4ms idle=712.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-15 18:35:58Z], 36] 06:56:44.657 [debug] QUERY OK source="media_items" db=2.2ms idle=714.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Take BlueDot's Future of AI course for free - https://bluedot.org/fireship\n\nJust three days after the release of Claude Fable, the US government stepped in and banned it in the name of national security. But why?\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- What makes Fable allegedly unsafe?\n- Fable Jailbreak\n- Fable gets banned\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "One man just liberated Fable... and now it’s illegal", "97c2d844-c940-4f02-b791-14e66cc76276", "ey_GaPdC9zk", 314, false, "https://www.youtube.com/watch?v=ey_GaPdC9zk", 4, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061500_One man just liberated Fable... and now it’s illegal.mp4", false, false, false, 36, [], 98, ~U[2026-06-15 18:35:58Z], ~U[2026-06-29 11:56:44Z], ~U[2026-06-29 11:56:44Z], "Take BlueDot's Future of AI course for free - https://bluedot.org/fireship\n\nJust three days after the release of Claude Fable, the US government stepped in and banned it in the name of national security. But why?\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- What makes Fable allegedly unsafe?\n- Fable Jailbreak\n- Fable gets banned\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "One man just liberated Fable... and now it’s illegal", "ey_GaPdC9zk", 314, false, "https://www.youtube.com/watch?v=ey_GaPdC9zk", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061500_One man just liberated Fable... and now it’s illegal.mp4", false, 36, ~U[2026-06-15 18:35:58Z]] 06:56:44.658 [debug] QUERY OK source="sources" db=0.2ms idle=30.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:56:44.658 [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] 06:56:44.658 [debug] QUERY OK source="media_items" db=0.1ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3203534] 06:56:44.659 [debug] Current batch of media processed. Will check again in 1000ms 06:56:45.660 [debug] Current batch of media processed. Will check again in 1000ms 06:56:46.661 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Render is the easiest place to ship full-stack apps and agents. The first 2,000 people to use the code RENDER-FIRESHIP will get $50 in credits: https://dashboard.render.com/register?utm_source=youtube&utm_medium=organic_video&utm_campaign=2026_partnership_fireship\n\nThis week, Anthropic released Claude Fable, a Mythos class model that's been carefully lobotomized for public consumption. But is it legit? Let's run it...\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- Claude Fable release\n- Fable 5 vs Opus 4.8\n- Fable 5 Demo\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 308, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061100_Anthropic begged the world to stop AI… then shipped this.mp4", "id" => "1PBRhm5ZnjU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1PBRhm5ZnjU", "playlist_index" => 5, "timestamp" => 1781198268, "title" => "Anthropic begged the world to stop AI… then shipped this", "upload_date" => "20260611"} 06:56:46.662 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=720.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:56:46.662 [debug] QUERY OK source="sources" db=0.1ms idle=721.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:46.663 [debug] QUERY OK source="media_items" db=1.4ms idle=721.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-11 17:17:48Z], 36] 06:56:46.664 [debug] QUERY OK source="media_items" db=0.7ms idle=723.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Render is the easiest place to ship full-stack apps and agents. The first 2,000 people to use the code RENDER-FIRESHIP will get $50 in credits: https://dashboard.render.com/register?utm_source=youtube&utm_medium=organic_video&utm_campaign=2026_partnership_fireship\n\nThis week, Anthropic released Claude Fable, a Mythos class model that's been carefully lobotomized for public consumption. But is it legit? Let's run it...\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- Claude Fable release\n- Fable 5 vs Opus 4.8\n- Fable 5 Demo\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Anthropic begged the world to stop AI… then shipped this", "406a5c7f-f52a-48bc-8ffb-e3b13359337c", "1PBRhm5ZnjU", 308, false, "https://www.youtube.com/watch?v=1PBRhm5ZnjU", 5, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061100_Anthropic begged the world to stop AI… then shipped this.mp4", false, false, false, 36, [], 98, ~U[2026-06-11 17:17:48Z], ~U[2026-06-29 11:56:46Z], ~U[2026-06-29 11:56:46Z], "Render is the easiest place to ship full-stack apps and agents. The first 2,000 people to use the code RENDER-FIRESHIP will get $50 in credits: https://dashboard.render.com/register?utm_source=youtube&utm_medium=organic_video&utm_campaign=2026_partnership_fireship\n\nThis week, Anthropic released Claude Fable, a Mythos class model that's been carefully lobotomized for public consumption. But is it legit? Let's run it...\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- Claude Fable release\n- Fable 5 vs Opus 4.8\n- Fable 5 Demo\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Anthropic begged the world to stop AI… then shipped this", "1PBRhm5ZnjU", 308, false, "https://www.youtube.com/watch?v=1PBRhm5ZnjU", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061100_Anthropic begged the world to stop AI… then shipped this.mp4", false, 36, ~U[2026-06-11 17:17:48Z]] 06:56:46.665 [debug] QUERY OK source="sources" db=0.1ms idle=34.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:46.665 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:56:46.665 [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 [3171737] 06:56:46.666 [debug] Current batch of media processed. Will check again in 1000ms 06:56:47.667 [debug] Current batch of media processed. Will check again in 1000ms 06:56:48.668 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get $30 of Pioneer inference credits for only $5 - https://pioneer.ai/?utm_source=youtube&utm_medium=ext_social&utm_campaign=pioneer_launch&utm_content=FS\n\nAnthropic just proposed something insane - the idea that maybe we should wait a second and pause all AI development. But why now?\n\n#coding #programming #ai #nthropic\n\n📚 Resources\n- https://www.anthropic.com/institute/recursive-self-improvement\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 303, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e060900_Anthropic is starting to panic….mp4", "id" => "0pgCBV8CTZY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0pgCBV8CTZY", "playlist_index" => 6, "timestamp" => 1781026350, "title" => "Anthropic is starting to panic…", "upload_date" => "20260609"} 06:56:48.669 [debug] QUERY OK source="sources" db=0.2ms idle=727.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:56:48.669 [debug] QUERY OK source="sources" db=0.1ms idle=728.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:48.671 [debug] QUERY OK source="media_items" db=1.5ms idle=728.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 17:32:30Z], 36] 06:56:48.672 [debug] QUERY OK source="media_items" db=0.8ms idle=730.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get $30 of Pioneer inference credits for only $5 - https://pioneer.ai/?utm_source=youtube&utm_medium=ext_social&utm_campaign=pioneer_launch&utm_content=FS\n\nAnthropic just proposed something insane - the idea that maybe we should wait a second and pause all AI development. But why now?\n\n#coding #programming #ai #nthropic\n\n📚 Resources\n- https://www.anthropic.com/institute/recursive-self-improvement\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Anthropic is starting to panic…", "49ccb31f-6417-4e90-9f8e-6b3f5b9d8bd9", "0pgCBV8CTZY", 303, false, "https://www.youtube.com/watch?v=0pgCBV8CTZY", 6, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e060900_Anthropic is starting to panic….mp4", false, false, false, 36, [], 98, ~U[2026-06-09 17:32:30Z], ~U[2026-06-29 11:56:48Z], ~U[2026-06-29 11:56:48Z], "Get $30 of Pioneer inference credits for only $5 - https://pioneer.ai/?utm_source=youtube&utm_medium=ext_social&utm_campaign=pioneer_launch&utm_content=FS\n\nAnthropic just proposed something insane - the idea that maybe we should wait a second and pause all AI development. But why now?\n\n#coding #programming #ai #nthropic\n\n📚 Resources\n- https://www.anthropic.com/institute/recursive-self-improvement\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Anthropic is starting to panic…", "0pgCBV8CTZY", 303, false, "https://www.youtube.com/watch?v=0pgCBV8CTZY", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e060900_Anthropic is starting to panic….mp4", false, 36, ~U[2026-06-09 17:32:30Z]] 06:56:48.672 [debug] QUERY OK source="sources" db=0.1ms idle=38.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:48.672 [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] 06:56:48.673 [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 [3156022] 06:56:48.673 [debug] Current batch of media processed. Will check again in 1000ms 06:56:49.674 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Clerk's new CLI sets up end-to-end auth for your entire app. Try it - https://go.clerk.com/0mR9oMU\n\nJavaScript was terrible... until one man was brave enough to save it.\n\n#coding #programming #javascript \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 388, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052900_The forgotten developer who saved JavaScript....mp4", "id" => "JfPWbttemYE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JfPWbttemYE", "playlist_index" => 7, "timestamp" => 1780074408, "title" => "The forgotten developer who saved JavaScript...", "upload_date" => "20260529"} 06:56:49.674 [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 (?)) [36] 06:56:49.674 [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" = ?) [36] 06:56:49.676 [debug] QUERY OK source="media_items" db=1.7ms 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-29 17:06:48Z], 36] 06:56:49.677 [debug] QUERY OK source="media_items" db=0.8ms idle=1003.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Clerk's new CLI sets up end-to-end auth for your entire app. Try it - https://go.clerk.com/0mR9oMU\n\nJavaScript was terrible... until one man was brave enough to save it.\n\n#coding #programming #javascript \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The forgotten developer who saved JavaScript...", "39d245fe-bf1b-41a2-9f74-dbfc013d7fd4", "JfPWbttemYE", 388, false, "https://www.youtube.com/watch?v=JfPWbttemYE", 7, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052900_The forgotten developer who saved JavaScript....mp4", false, false, false, 36, [], 98, ~U[2026-05-29 17:06:48Z], ~U[2026-06-29 11:56:49Z], ~U[2026-06-29 11:56:49Z], "Clerk's new CLI sets up end-to-end auth for your entire app. Try it - https://go.clerk.com/0mR9oMU\n\nJavaScript was terrible... until one man was brave enough to save it.\n\n#coding #programming #javascript \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The forgotten developer who saved JavaScript...", "JfPWbttemYE", 388, false, "https://www.youtube.com/watch?v=JfPWbttemYE", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052900_The forgotten developer who saved JavaScript....mp4", false, 36, ~U[2026-05-29 17:06:48Z]] 06:56:49.678 [debug] QUERY OK source="sources" db=0.1ms idle=43.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:56:49.678 [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] 06:56:49.678 [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 [3069543] 06:56:49.678 [debug] Current batch of media processed. Will check again in 1000ms 06:56:50.680 [debug] Current batch of media processed. Will check again in 1000ms 06:56:51.681 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get $1,000 in Hyperagent inference credits: https://www.hyperagent.com/fireship \n\nApply to the Founding 500 to get $20k for your project: https://www.hyperagent.com\n\nIn today's video, we'll look at 10 new open source projects that are saving developers from prompt bro hell.\n\n#coding #programming #coding #oss #opensource \n\n🔖 Topics Covered\n\n- Ratty 3D Terminal https://ratty-term.org/\n- TheyLive Adblocker https://github.com/davmlaw/they_live_adblocker\n- TerminalPhone https://gitlab.com/here_forawhile/terminalphone\n- Cuda Oxide https://nvlabs.github.io/cuda-oxide/index.html\n- Wario Synth https://www.wario.style/\n- Jmail & EpstienExposed https://epsteinexposed.com/\n- Wikipedia Doomscroller https://xikipedia.org/\n- Puter https://github.com/HeyPuter/puter\n- Honker https://github.com/russellromney/honker\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 422, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052600_10 weird OSS projects you need right now....mp4", "id" => "qPuzWFvRajk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qPuzWFvRajk", "playlist_index" => 8, "timestamp" => 1779817991, "title" => "10 weird OSS projects you need right now...", "upload_date" => "20260526"} 06:56:51.681 [debug] QUERY OK source="sources" db=0.2ms idle=740.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:56:51.682 [debug] QUERY OK source="sources" db=0.1ms idle=740.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:51.683 [debug] QUERY OK source="media_items" db=1.4ms idle=741.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-26 17:53:11Z], 36] 06:56:51.684 [debug] QUERY OK source="media_items" db=0.8ms idle=742.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get $1,000 in Hyperagent inference credits: https://www.hyperagent.com/fireship \n\nApply to the Founding 500 to get $20k for your project: https://www.hyperagent.com\n\nIn today's video, we'll look at 10 new open source projects that are saving developers from prompt bro hell.\n\n#coding #programming #coding #oss #opensource \n\n🔖 Topics Covered\n\n- Ratty 3D Terminal https://ratty-term.org/\n- TheyLive Adblocker https://github.com/davmlaw/they_live_adblocker\n- TerminalPhone https://gitlab.com/here_forawhile/terminalphone\n- Cuda Oxide https://nvlabs.github.io/cuda-oxide/index.html\n- Wario Synth https://www.wario.style/\n- Jmail & EpstienExposed https://epsteinexposed.com/\n- Wikipedia Doomscroller https://xikipedia.org/\n- Puter https://github.com/HeyPuter/puter\n- Honker https://github.com/russellromney/honker\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "10 weird OSS projects you need right now...", "a0e8f8df-c85c-44a0-b863-e5b976d538d1", "qPuzWFvRajk", 422, false, "https://www.youtube.com/watch?v=qPuzWFvRajk", 8, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052600_10 weird OSS projects you need right now....mp4", false, false, false, 36, [], 98, ~U[2026-05-26 17:53:11Z], ~U[2026-06-29 11:56:51Z], ~U[2026-06-29 11:56:51Z], "Get $1,000 in Hyperagent inference credits: https://www.hyperagent.com/fireship \n\nApply to the Founding 500 to get $20k for your project: https://www.hyperagent.com\n\nIn today's video, we'll look at 10 new open source projects that are saving developers from prompt bro hell.\n\n#coding #programming #coding #oss #opensource \n\n🔖 Topics Covered\n\n- Ratty 3D Terminal https://ratty-term.org/\n- TheyLive Adblocker https://github.com/davmlaw/they_live_adblocker\n- TerminalPhone https://gitlab.com/here_forawhile/terminalphone\n- Cuda Oxide https://nvlabs.github.io/cuda-oxide/index.html\n- Wario Synth https://www.wario.style/\n- Jmail & EpstienExposed https://epsteinexposed.com/\n- Wikipedia Doomscroller https://xikipedia.org/\n- Puter https://github.com/HeyPuter/puter\n- Honker https://github.com/russellromney/honker\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "10 weird OSS projects you need right now...", "qPuzWFvRajk", 422, false, "https://www.youtube.com/watch?v=qPuzWFvRajk", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052600_10 weird OSS projects you need right now....mp4", false, 36, ~U[2026-05-26 17:53:11Z]] 06:56:51.685 [debug] QUERY OK source="sources" db=0.2ms idle=47.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:51.685 [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] 06:56:51.685 [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 [3047195] 06:56:51.685 [debug] Current batch of media processed. Will check again in 1000ms 06:56:52.523 [info] {"source":"oban","duration":7772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:52.687 [debug] Current batch of media processed. Will check again in 1000ms 06:56:53.688 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Try using Emergent's specialized agents in parallel to build any full-stack application -\u00A0https://app.emergent.sh/?utm_shift=redirect&via=fireship\n\nAt Google I/O 2026, Sundar Pichai and Demis Hassabis set out the roadmap for Google's 'agentic Gemini era', with Gemini hiding inside every product like the microplastics in your bloodstream. But what else did they announce?\n\n#coding #programming #google #ai \n\n🔖 Topics Covered\n- Google I/O 2026 Announcements\n- Everything is an agent now\n- Google's TPU chip\n- Gemini Omni\n- Antigravity\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 343, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052200_Google’s AI endgame is here… everything you missed at I⧸O 2026.mp4", "id" => "9OQ5vaYbGV0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9OQ5vaYbGV0", "playlist_index" => 9, "timestamp" => 1779467922, "title" => "Google’s AI endgame is here… everything you missed at I/O 2026", "upload_date" => "20260522"} 06:56:53.688 [debug] QUERY OK source="sources" db=0.2ms idle=1049.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:56:53.689 [debug] QUERY OK source="sources" db=0.1ms idle=747.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:53.690 [debug] QUERY OK source="media_items" db=1.4ms idle=748.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 16:38:42Z], 36] 06:56:53.691 [debug] QUERY OK source="media_items" db=0.7ms idle=749.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try using Emergent's specialized agents in parallel to build any full-stack application -\u00A0https://app.emergent.sh/?utm_shift=redirect&via=fireship\n\nAt Google I/O 2026, Sundar Pichai and Demis Hassabis set out the roadmap for Google's 'agentic Gemini era', with Gemini hiding inside every product like the microplastics in your bloodstream. But what else did they announce?\n\n#coding #programming #google #ai \n\n🔖 Topics Covered\n- Google I/O 2026 Announcements\n- Everything is an agent now\n- Google's TPU chip\n- Gemini Omni\n- Antigravity\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Google’s AI endgame is here… everything you missed at I/O 2026", "12033773-8446-42e6-94b3-8a6bad34762b", "9OQ5vaYbGV0", 343, false, "https://www.youtube.com/watch?v=9OQ5vaYbGV0", 9, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052200_Google’s AI endgame is here… everything you missed at I⧸O 2026.mp4", false, false, false, 36, [], 98, ~U[2026-05-22 16:38:42Z], ~U[2026-06-29 11:56:53Z], ~U[2026-06-29 11:56:53Z], "Try using Emergent's specialized agents in parallel to build any full-stack application -\u00A0https://app.emergent.sh/?utm_shift=redirect&via=fireship\n\nAt Google I/O 2026, Sundar Pichai and Demis Hassabis set out the roadmap for Google's 'agentic Gemini era', with Gemini hiding inside every product like the microplastics in your bloodstream. But what else did they announce?\n\n#coding #programming #google #ai \n\n🔖 Topics Covered\n- Google I/O 2026 Announcements\n- Everything is an agent now\n- Google's TPU chip\n- Gemini Omni\n- Antigravity\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Google’s AI endgame is here… everything you missed at I/O 2026", "9OQ5vaYbGV0", 343, false, "https://www.youtube.com/watch?v=9OQ5vaYbGV0", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052200_Google’s AI endgame is here… everything you missed at I⧸O 2026.mp4", false, 36, ~U[2026-05-22 16:38:42Z]] 06:56:53.692 [debug] QUERY OK source="sources" db=0.5ms idle=51.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:56:53.692 [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] 06:56:53.693 [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 [3015022] 06:56:53.693 [debug] Current batch of media processed. Will check again in 1000ms 06:56:54.694 [debug] Current batch of media processed. Will check again in 1000ms 06:56:55.695 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Try out Kernel for free - https://www.kernel.sh/ to give your agents blazing fast, open source infra to access the internet.\n\nScam Altman and Elon Muskrat have been battling it out in court over the future of OpenAI. Let's break it down.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 405, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e051500_I can’t believe this trial is real....mp4", "id" => "3tbB2dffx0s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3tbB2dffx0s", "playlist_index" => 10, "timestamp" => 1778871081, "title" => "I can’t believe this trial is real...", "upload_date" => "20260515"} 06:56:55.696 [debug] QUERY OK source="sources" db=0.2ms idle=755.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:56:55.697 [debug] QUERY OK source="sources" db=0.1ms idle=755.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:55.698 [debug] QUERY OK source="media_items" db=1.4ms idle=756.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-15 18:51:21Z], 36] 06:56:55.699 [debug] QUERY OK source="media_items" db=0.7ms idle=757.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try out Kernel for free - https://www.kernel.sh/ to give your agents blazing fast, open source infra to access the internet.\n\nScam Altman and Elon Muskrat have been battling it out in court over the future of OpenAI. Let's break it down.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I can’t believe this trial is real...", "806b59a1-0048-4ba7-8c0e-83ff44a019a3", "3tbB2dffx0s", 405, false, "https://www.youtube.com/watch?v=3tbB2dffx0s", 10, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e051500_I can’t believe this trial is real....mp4", false, false, false, 36, [], 98, ~U[2026-05-15 18:51:21Z], ~U[2026-06-29 11:56:55Z], ~U[2026-06-29 11:56:55Z], "Try out Kernel for free - https://www.kernel.sh/ to give your agents blazing fast, open source infra to access the internet.\n\nScam Altman and Elon Muskrat have been battling it out in court over the future of OpenAI. Let's break it down.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I can’t believe this trial is real...", "3tbB2dffx0s", 405, false, "https://www.youtube.com/watch?v=3tbB2dffx0s", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e051500_I can’t believe this trial is real....mp4", false, 36, ~U[2026-05-15 18:51:21Z]] 06:56:55.699 [debug] QUERY OK source="sources" db=0.1ms idle=56.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:55.700 [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] 06:56:55.700 [debug] QUERY OK source="media_items" db=0.1ms 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 [2961494] 06:56:55.700 [debug] Current batch of media processed. Will check again in 1000ms 06:56:56.701 [debug] Current batch of media processed. Will check again in 1000ms 06:56:57.702 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Try Seer Agent for free - https://sentry.io/fireship. It uses all of Sentry's context on your app to investigate production issues for you.\n\nEarlier this week Tanstack was poisoned with a sophisticated supply chain attack . In this video we break down how it happened and how you can protect yourself in the future.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 376, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e051400_A single PR just hijacked the NPM registry....mp4", "id" => "gwTQLZSIlsU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gwTQLZSIlsU", "playlist_index" => 11, "timestamp" => 1778780351, "title" => "A single PR just hijacked the NPM registry...", "upload_date" => "20260514"} 06:56:57.702 [debug] QUERY OK source="sources" db=0.2ms idle=761.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:56:57.703 [debug] QUERY OK source="sources" db=0.0ms idle=761.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:57.704 [debug] QUERY OK source="media_items" db=1.4ms idle=762.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-14 17:39:11Z], 36] 06:56:57.705 [debug] QUERY OK source="media_items" db=0.7ms idle=763.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try Seer Agent for free - https://sentry.io/fireship. It uses all of Sentry's context on your app to investigate production issues for you.\n\nEarlier this week Tanstack was poisoned with a sophisticated supply chain attack . In this video we break down how it happened and how you can protect yourself in the future.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "A single PR just hijacked the NPM registry...", "4373c816-9062-4651-8b81-344703341f7b", "gwTQLZSIlsU", 376, false, "https://www.youtube.com/watch?v=gwTQLZSIlsU", 11, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e051400_A single PR just hijacked the NPM registry....mp4", false, false, false, 36, [], 98, ~U[2026-05-14 17:39:11Z], ~U[2026-06-29 11:56:57Z], ~U[2026-06-29 11:56:57Z], "Try Seer Agent for free - https://sentry.io/fireship. It uses all of Sentry's context on your app to investigate production issues for you.\n\nEarlier this week Tanstack was poisoned with a sophisticated supply chain attack . In this video we break down how it happened and how you can protect yourself in the future.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "A single PR just hijacked the NPM registry...", "gwTQLZSIlsU", 376, false, "https://www.youtube.com/watch?v=gwTQLZSIlsU", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e051400_A single PR just hijacked the NPM registry....mp4", false, 36, ~U[2026-05-14 17:39:11Z]] 06:56:57.706 [debug] QUERY OK source="sources" db=0.1ms idle=60.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:56:57.706 [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] 06:56:57.706 [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 [2953780] 06:56:57.706 [debug] Current batch of media processed. Will check again in 1000ms 06:56:58.707 [debug] Current batch of media processed. Will check again in 1000ms 06:56:59.708 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Railway is the easiest way to deploy anything. Get $20 in free credits - https://railway.com/?referralCode=fireship\n\nEverything that happens inside your computer from the instant you press the power button to the moment you rage quit and shut it down.\n\n#coding #programming #computer #computerscience \n\n🔖 Topics Covered\n- Bootloader\n- Privilege Ring\n- Virtual Memory \n- Filesystem\n- Drivers and Interrupts\n- Processes\n- Syscalls\n- Scheduler\n- Threads\n- IPC\n- Shutdown SIGKILL\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 690, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e050700_Every operating system concept in one video….mp4", "id" => "MtxP2pyCvYA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MtxP2pyCvYA", "playlist_index" => 12, "timestamp" => 1778175154, "title" => "Every operating system concept in one video…", "upload_date" => "20260507"} 06:56:59.708 [debug] QUERY OK source="sources" db=0.1ms idle=767.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:56:59.708 [debug] QUERY OK source="sources" db=0.1ms idle=767.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:56:59.710 [debug] QUERY OK source="media_items" db=1.4ms idle=768.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-07 17:32:34Z], 36] 06:56:59.711 [debug] QUERY OK source="media_items" db=0.7ms idle=769.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Railway is the easiest way to deploy anything. Get $20 in free credits - https://railway.com/?referralCode=fireship\n\nEverything that happens inside your computer from the instant you press the power button to the moment you rage quit and shut it down.\n\n#coding #programming #computer #computerscience \n\n🔖 Topics Covered\n- Bootloader\n- Privilege Ring\n- Virtual Memory \n- Filesystem\n- Drivers and Interrupts\n- Processes\n- Syscalls\n- Scheduler\n- Threads\n- IPC\n- Shutdown SIGKILL\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Every operating system concept in one video…", "d81eec9a-55f8-4bd9-9f3a-4ef045fa1e12", "MtxP2pyCvYA", 690, false, "https://www.youtube.com/watch?v=MtxP2pyCvYA", 12, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e050700_Every operating system concept in one video….mp4", false, false, false, 36, [], 98, ~U[2026-05-07 17:32:34Z], ~U[2026-06-29 11:56:59Z], ~U[2026-06-29 11:56:59Z], "Railway is the easiest way to deploy anything. Get $20 in free credits - https://railway.com/?referralCode=fireship\n\nEverything that happens inside your computer from the instant you press the power button to the moment you rage quit and shut it down.\n\n#coding #programming #computer #computerscience \n\n🔖 Topics Covered\n- Bootloader\n- Privilege Ring\n- Virtual Memory \n- Filesystem\n- Drivers and Interrupts\n- Processes\n- Syscalls\n- Scheduler\n- Threads\n- IPC\n- Shutdown SIGKILL\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Every operating system concept in one video…", "MtxP2pyCvYA", 690, false, "https://www.youtube.com/watch?v=MtxP2pyCvYA", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e050700_Every operating system concept in one video….mp4", false, 36, ~U[2026-05-07 17:32:34Z]] 06:56:59.711 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [36] 06:56:59.712 [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] 06:56:59.712 [debug] QUERY OK source="media_items" db=0.1ms 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 [2900080] 06:56:59.712 [debug] Current batch of media processed. Will check again in 1000ms 06:57:00.020 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:57:00.713 [debug] Current batch of media processed. Will check again in 1000ms 06:57:01.714 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "CodeRabbit's new Slack Agent lets you manage your team's agentic workflow right in Slack - https://coderabbit.link/fireship-agent\n\nA 100% reliable logic flaw was discovered in the Linux kernel and an AI tool wrote an exploit for it that affects every Linux machine updated since 2017. Let's look at the technical details behind the vulnerability and what to do if you're affected...\n\n#coding #programming #linux #python \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 287, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e050400_732 bytes of Python just borked every Linux machine on earth….mp4", "id" => "lkifbWtxxlk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lkifbWtxxlk", "playlist_index" => 13, "timestamp" => 1777920040, "title" => "732 bytes of Python just borked every Linux machine on earth…", "upload_date" => "20260504"} 06:57:01.714 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1064.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:57:01.715 [debug] QUERY OK source="sources" db=0.1ms idle=774.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:57:01.716 [debug] QUERY OK source="media_items" db=1.5ms idle=774.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-04 18:40:40Z], 36] 06:57:01.718 [debug] QUERY OK source="media_items" db=0.7ms idle=776.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["CodeRabbit's new Slack Agent lets you manage your team's agentic workflow right in Slack - https://coderabbit.link/fireship-agent\n\nA 100% reliable logic flaw was discovered in the Linux kernel and an AI tool wrote an exploit for it that affects every Linux machine updated since 2017. Let's look at the technical details behind the vulnerability and what to do if you're affected...\n\n#coding #programming #linux #python \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "732 bytes of Python just borked every Linux machine on earth…", "4b6e56d1-7e62-4b2a-82f6-bb1d8072da07", "lkifbWtxxlk", 287, false, "https://www.youtube.com/watch?v=lkifbWtxxlk", 13, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e050400_732 bytes of Python just borked every Linux machine on earth….mp4", false, false, false, 36, [], 98, ~U[2026-05-04 18:40:40Z], ~U[2026-06-29 11:57:01Z], ~U[2026-06-29 11:57:01Z], "CodeRabbit's new Slack Agent lets you manage your team's agentic workflow right in Slack - https://coderabbit.link/fireship-agent\n\nA 100% reliable logic flaw was discovered in the Linux kernel and an AI tool wrote an exploit for it that affects every Linux machine updated since 2017. Let's look at the technical details behind the vulnerability and what to do if you're affected...\n\n#coding #programming #linux #python \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "732 bytes of Python just borked every Linux machine on earth…", "lkifbWtxxlk", 287, false, "https://www.youtube.com/watch?v=lkifbWtxxlk", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e050400_732 bytes of Python just borked every Linux machine on earth….mp4", false, 36, ~U[2026-05-04 18:40:40Z]] 06:57:01.718 [debug] QUERY OK source="sources" db=0.1ms idle=66.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:57:01.718 [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] 06:57:01.719 [debug] QUERY OK source="media_items" db=0.1ms 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 [2878003] 06:57:01.719 [debug] Current batch of media processed. Will check again in 1000ms 06:57:02.720 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get the free 80,000 Hours career guide - https://80000hours.org/fireship\n\nGitHub is easily the most important website in software engineering but a wave of recent issues has led several 10x developers to jump ship. What's going on?\n\n#coding #programming #github #tech\n\n🔖 Topics Covered\n- The rise of GitHub\n- GitHub uptime issues \n- GitHub's week from hell\n- Why Ghostty is leaving GitHub\n- GitHub alternatives\n\n📚 Resources\n- https://mitchellh.com/writing/ghostty-leaving-github\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 358, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e043000_GitHub is having some major issues right now….mp4", "id" => "d53Zk28esmU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d53Zk28esmU", "playlist_index" => 14, "timestamp" => 1777567051, "title" => "GitHub is having some major issues right now…", "upload_date" => "20260430"} 06:57:02.720 [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 (?)) [36] 06:57:02.720 [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" = ?) [36] 06:57:02.722 [debug] QUERY OK source="media_items" db=1.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-30 16:37:31Z], 36] 06:57:02.723 [debug] QUERY OK source="media_items" db=0.7ms idle=1003.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get the free 80,000 Hours career guide - https://80000hours.org/fireship\n\nGitHub is easily the most important website in software engineering but a wave of recent issues has led several 10x developers to jump ship. What's going on?\n\n#coding #programming #github #tech\n\n🔖 Topics Covered\n- The rise of GitHub\n- GitHub uptime issues \n- GitHub's week from hell\n- Why Ghostty is leaving GitHub\n- GitHub alternatives\n\n📚 Resources\n- https://mitchellh.com/writing/ghostty-leaving-github\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "GitHub is having some major issues right now…", "84e4c02b-1018-4aef-a198-71df467af078", "d53Zk28esmU", 358, false, "https://www.youtube.com/watch?v=d53Zk28esmU", 14, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e043000_GitHub is having some major issues right now….mp4", false, false, false, 36, [], 98, ~U[2026-04-30 16:37:31Z], ~U[2026-06-29 11:57:02Z], ~U[2026-06-29 11:57:02Z], "Get the free 80,000 Hours career guide - https://80000hours.org/fireship\n\nGitHub is easily the most important website in software engineering but a wave of recent issues has led several 10x developers to jump ship. What's going on?\n\n#coding #programming #github #tech\n\n🔖 Topics Covered\n- The rise of GitHub\n- GitHub uptime issues \n- GitHub's week from hell\n- Why Ghostty is leaving GitHub\n- GitHub alternatives\n\n📚 Resources\n- https://mitchellh.com/writing/ghostty-leaving-github\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "GitHub is having some major issues right now…", "d53Zk28esmU", 358, false, "https://www.youtube.com/watch?v=d53Zk28esmU", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e043000_GitHub is having some major issues right now….mp4", false, 36, ~U[2026-04-30 16:37:31Z]] 06:57:02.723 [debug] QUERY OK source="sources" db=0.1ms idle=70.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:57:02.723 [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] 06:57:02.724 [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 [2846496] 06:57:02.724 [debug] Current batch of media processed. Will check again in 1000ms 06:57:03.725 [debug] Current batch of media processed. Will check again in 1000ms 06:57:04.726 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get up to 67% off OpenClaw VPS hosting with Hostinger's one-click template. Use code FIRESHIP for an extra discount - https://hostinger.com/openclawfireship\n\nBack in January, OpenClaw's wild rise triggered a nation-wide Mac mini shortage and a record number of security advisories. But just last week, Peter Steinberger spoke about fixing its vulnerabilities to a room full of devs at AI Engineer Europe, and he convinced me to give it another shot.\n\n#coding #programming #ai #openclaw\n\n🔖 Topics Covered\n- The state of OpenClaw\n- Fixing OpenClaw's security issues\n- Real-life OpenClaw project\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 315, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e042300_I finally found a use case for OpenClaw….mp4", "id" => "FM5-R4VPArw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FM5-R4VPArw", "playlist_index" => 15, "timestamp" => 1776968799, "title" => "I finally found a use case for OpenClaw…", "upload_date" => "20260423"} 06:57:04.726 [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 (?)) [36] 06:57:04.726 [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" = ?) [36] 06:57:04.728 [debug] QUERY OK source="media_items" db=1.3ms 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-04-23 18:26:39Z], 36] 06:57:04.729 [debug] QUERY OK source="media_items" db=0.7ms idle=787.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get up to 67% off OpenClaw VPS hosting with Hostinger's one-click template. Use code FIRESHIP for an extra discount - https://hostinger.com/openclawfireship\n\nBack in January, OpenClaw's wild rise triggered a nation-wide Mac mini shortage and a record number of security advisories. But just last week, Peter Steinberger spoke about fixing its vulnerabilities to a room full of devs at AI Engineer Europe, and he convinced me to give it another shot.\n\n#coding #programming #ai #openclaw\n\n🔖 Topics Covered\n- The state of OpenClaw\n- Fixing OpenClaw's security issues\n- Real-life OpenClaw project\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I finally found a use case for OpenClaw…", "6e981e77-538d-4346-b343-7f4c842eab15", "FM5-R4VPArw", 315, false, "https://www.youtube.com/watch?v=FM5-R4VPArw", 15, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e042300_I finally found a use case for OpenClaw….mp4", false, false, false, 36, [], 98, ~U[2026-04-23 18:26:39Z], ~U[2026-06-29 11:57:04Z], ~U[2026-06-29 11:57:04Z], "Get up to 67% off OpenClaw VPS hosting with Hostinger's one-click template. Use code FIRESHIP for an extra discount - https://hostinger.com/openclawfireship\n\nBack in January, OpenClaw's wild rise triggered a nation-wide Mac mini shortage and a record number of security advisories. But just last week, Peter Steinberger spoke about fixing its vulnerabilities to a room full of devs at AI Engineer Europe, and he convinced me to give it another shot.\n\n#coding #programming #ai #openclaw\n\n🔖 Topics Covered\n- The state of OpenClaw\n- Fixing OpenClaw's security issues\n- Real-life OpenClaw project\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I finally found a use case for OpenClaw…", "FM5-R4VPArw", 315, false, "https://www.youtube.com/watch?v=FM5-R4VPArw", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e042300_I finally found a use case for OpenClaw….mp4", false, 36, ~U[2026-04-23 18:26:39Z]] 06:57:04.729 [debug] QUERY OK source="sources" db=0.1ms idle=73.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:57:04.730 [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] 06:57:04.730 [debug] QUERY OK source="media_items" db=0.1ms 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 [2793692] 06:57:04.730 [debug] Current batch of media processed. Will check again in 1000ms 06:57:05.731 [debug] Current batch of media processed. Will check again in 1000ms 06:57:06.732 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Run any code on Google’s world-class infrastructure - https://cloud.run. Get 2 million free requests per month\n\nClaude Design could be Anthropic's most disruptive tool since Claude Code. But can their new Opus 4.7 powered platform really turn your half-baked Figma wireframe into a production ready UI? Let's run it.\n\n#coding #programming\n\n🔖 Topics Covered\n- What is Claude Design\n- Claude Design vs Figma vs Adobe\n- Claude Design demo\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 312, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e042100_Claude just got another superpower....mp4", "id" => "jeA-KBv0b68", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jeA-KBv0b68", "playlist_index" => 16, "timestamp" => 1776792943, "title" => "Claude just got another superpower...", "upload_date" => "20260421"} 06:57:06.732 [debug] QUERY OK source="sources" db=0.1ms idle=791.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:57:06.732 [debug] QUERY OK source="sources" db=0.1ms idle=791.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:57:06.734 [debug] QUERY OK source="media_items" db=1.5ms idle=791.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 17:35:43Z], 36] 06:57:06.738 [debug] QUERY OK source="media_items" db=3.9ms idle=793.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Run any code on Google’s world-class infrastructure - https://cloud.run. Get 2 million free requests per month\n\nClaude Design could be Anthropic's most disruptive tool since Claude Code. But can their new Opus 4.7 powered platform really turn your half-baked Figma wireframe into a production ready UI? Let's run it.\n\n#coding #programming\n\n🔖 Topics Covered\n- What is Claude Design\n- Claude Design vs Figma vs Adobe\n- Claude Design demo\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Claude just got another superpower...", "0a66b74a-a097-4f94-8097-a44773612141", "jeA-KBv0b68", 312, false, "https://www.youtube.com/watch?v=jeA-KBv0b68", 16, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e042100_Claude just got another superpower....mp4", false, false, false, 36, [], 98, ~U[2026-04-21 17:35:43Z], ~U[2026-06-29 11:57:06Z], ~U[2026-06-29 11:57:06Z], "Run any code on Google’s world-class infrastructure - https://cloud.run. Get 2 million free requests per month\n\nClaude Design could be Anthropic's most disruptive tool since Claude Code. But can their new Opus 4.7 powered platform really turn your half-baked Figma wireframe into a production ready UI? Let's run it.\n\n#coding #programming\n\n🔖 Topics Covered\n- What is Claude Design\n- Claude Design vs Figma vs Adobe\n- Claude Design demo\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Claude just got another superpower...", "jeA-KBv0b68", 312, false, "https://www.youtube.com/watch?v=jeA-KBv0b68", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e042100_Claude just got another superpower....mp4", false, 36, ~U[2026-04-21 17:35:43Z]] 06:57:06.739 [debug] QUERY OK source="sources" db=0.1ms idle=80.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:57:06.739 [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] 06:57:06.739 [debug] QUERY OK source="media_items" db=0.2ms 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 [2778326] 06:57:06.739 [debug] Current batch of media processed. Will check again in 1000ms 06:57:07.741 [debug] Current batch of media processed. Will check again in 1000ms 06:57:08.742 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Warp is the agentic development environment born out of the terminal. Download Warp for free today at → https://go.warp.dev/fireship\n\nSomeone spent $100k buying a massive collection of WordPress plugins and planted a backdoor in all of them. Naturally, CloudFlare stepped in with EmDash: a slop-forked WP alternative that promises to fix plugin security for good.\n\n#coding #programming #wordpress\n\n🔖 Topics Covered\n- Wordpress plugin hack \n- EmDash\n\n📚 Resources\n- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/accordion-and-accordion-slider/accordion-and-accordion-slider-146-injected-backdoor\n- https://anchor.host/someone-bought-30-wordpress-plugins-and-planted-a-backdoor-in-all-of-them/\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 316, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e041600_Millions of WordPress sites just got hacked... again.mp4", "id" => "piah4fV_o2Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=piah4fV_o2Q", "playlist_index" => 17, "timestamp" => 1776353341, "title" => "Millions of WordPress sites just got hacked... again", "upload_date" => "20260416"} 06:57:08.742 [debug] QUERY OK source="sources" db=0.1ms idle=801.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:57:08.742 [debug] QUERY OK source="sources" db=0.1ms idle=801.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:57:08.744 [debug] QUERY OK source="media_items" db=1.4ms idle=801.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-16 15:29:01Z], 36] 06:57:08.759 [debug] QUERY OK source="media_items" db=14.6ms idle=803.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Warp is the agentic development environment born out of the terminal. Download Warp for free today at → https://go.warp.dev/fireship\n\nSomeone spent $100k buying a massive collection of WordPress plugins and planted a backdoor in all of them. Naturally, CloudFlare stepped in with EmDash: a slop-forked WP alternative that promises to fix plugin security for good.\n\n#coding #programming #wordpress\n\n🔖 Topics Covered\n- Wordpress plugin hack \n- EmDash\n\n📚 Resources\n- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/accordion-and-accordion-slider/accordion-and-accordion-slider-146-injected-backdoor\n- https://anchor.host/someone-bought-30-wordpress-plugins-and-planted-a-backdoor-in-all-of-them/\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Millions of WordPress sites just got hacked... again", "b94af899-a75b-4bdf-a73e-0fd232a4af04", "piah4fV_o2Q", 316, false, "https://www.youtube.com/watch?v=piah4fV_o2Q", 17, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e041600_Millions of WordPress sites just got hacked... again.mp4", false, false, false, 36, [], 98, ~U[2026-04-16 15:29:01Z], ~U[2026-06-29 11:57:08Z], ~U[2026-06-29 11:57:08Z], "Warp is the agentic development environment born out of the terminal. Download Warp for free today at → https://go.warp.dev/fireship\n\nSomeone spent $100k buying a massive collection of WordPress plugins and planted a backdoor in all of them. Naturally, CloudFlare stepped in with EmDash: a slop-forked WP alternative that promises to fix plugin security for good.\n\n#coding #programming #wordpress\n\n🔖 Topics Covered\n- Wordpress plugin hack \n- EmDash\n\n📚 Resources\n- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/accordion-and-accordion-slider/accordion-and-accordion-slider-146-injected-backdoor\n- https://anchor.host/someone-bought-30-wordpress-plugins-and-planted-a-backdoor-in-all-of-them/\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Millions of WordPress sites just got hacked... again", "piah4fV_o2Q", 316, false, "https://www.youtube.com/watch?v=piah4fV_o2Q", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e041600_Millions of WordPress sites just got hacked... again.mp4", false, 36, ~U[2026-04-16 15:29:01Z]] 06:57:08.759 [debug] QUERY OK source="sources" db=0.2ms idle=99.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:57:08.760 [debug] QUERY OK source="media_profiles" db=0.2ms idle=17.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:57:08.760 [debug] QUERY OK source="media_items" db=0.2ms idle=17.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2739578] 06:57:08.760 [debug] Current batch of media processed. Will check again in 1000ms 06:57:09.761 [debug] Current batch of media processed. Will check again in 1000ms 06:57:10.762 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Browserbase is the simplest way to give your agents access to the whole web. Try it for free - https://browserbase.run/fireship\n\nAnthropic locked down their new Mythos model because they say it's too dangerous for normies like you and me to use. Let's investigate...\n\n#mythos #ai #programming #claude \n\nResources:\nhttps://www.trendmicro.com/en_us/research/26/c/axios-npm-package-compromised.html\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 336, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e041000_Claude Mythos is too dangerous for public consumption....mp4", "id" => "d3Qq-rkp_to", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d3Qq-rkp_to", "playlist_index" => 18, "timestamp" => 1775849375, "title" => "Claude Mythos is too dangerous for public consumption...", "upload_date" => "20260410"} 06:57:10.762 [debug] QUERY OK source="sources" db=0.2ms idle=821.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:57:10.762 [debug] QUERY OK source="sources" db=0.1ms idle=821.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:57:10.764 [debug] QUERY OK source="media_items" db=1.3ms idle=822.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-10 19:29:35Z], 36] 06:57:10.769 [debug] QUERY OK source="media_items" db=4.4ms idle=823.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Browserbase is the simplest way to give your agents access to the whole web. Try it for free - https://browserbase.run/fireship\n\nAnthropic locked down their new Mythos model because they say it's too dangerous for normies like you and me to use. Let's investigate...\n\n#mythos #ai #programming #claude \n\nResources:\nhttps://www.trendmicro.com/en_us/research/26/c/axios-npm-package-compromised.html\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Claude Mythos is too dangerous for public consumption...", "83fa9b9c-6998-4cb2-8170-fdac23d0e40b", "d3Qq-rkp_to", 336, false, "https://www.youtube.com/watch?v=d3Qq-rkp_to", 18, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e041000_Claude Mythos is too dangerous for public consumption....mp4", false, false, false, 36, [], 98, ~U[2026-04-10 19:29:35Z], ~U[2026-06-29 11:57:10Z], ~U[2026-06-29 11:57:10Z], "Browserbase is the simplest way to give your agents access to the whole web. Try it for free - https://browserbase.run/fireship\n\nAnthropic locked down their new Mythos model because they say it's too dangerous for normies like you and me to use. Let's investigate...\n\n#mythos #ai #programming #claude \n\nResources:\nhttps://www.trendmicro.com/en_us/research/26/c/axios-npm-package-compromised.html\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Claude Mythos is too dangerous for public consumption...", "d3Qq-rkp_to", 336, false, "https://www.youtube.com/watch?v=d3Qq-rkp_to", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e041000_Claude Mythos is too dangerous for public consumption....mp4", false, 36, ~U[2026-04-10 19:29:35Z]] 06:57:10.769 [debug] QUERY OK source="sources" db=0.1ms idle=106.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 06:57:10.769 [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] 06:57:10.770 [debug] QUERY OK source="media_items" db=0.1ms 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 [2699183] 06:57:10.770 [debug] Current batch of media processed. Will check again in 1000ms 06:57:11.771 [debug] Current batch of media processed. Will check again in 1000ms 06:57:12.772 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "CodeRabbit CLI can fix your agent’s code before it ever\u00A0opens a PR - https://coderabbit.link/fireship Free forever for any open source project.\n\nLast week, Google surprised us all by shipping their latest micro model Gemma 4 under a truly open source license. But what's the catch? Let's run it...\n\n#coding #programming #programming\n\n🔖 Topics Covered\n- How Gemma 4 works\n- Gemma 4 benchmarks\n- TurboQuant\n\n📌 Resources\n- https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-gemma-4\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 315, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e040800_Google just casually disrupted the open-source AI narrative….mp4", "id" => "-01ZCTt-CJw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-01ZCTt-CJw", "playlist_index" => 19, "timestamp" => 1775674810, "title" => "Google just casually disrupted the open-source AI narrative…", "upload_date" => "20260408"} 06:57:12.772 [debug] QUERY OK source="sources" db=0.3ms idle=831.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 06:57:12.773 [debug] QUERY OK source="sources" db=0.1ms idle=832.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:57:12.775 [debug] QUERY OK source="media_items" db=1.7ms idle=832.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-08 19:00:10Z], 36] 06:57:12.776 [debug] QUERY OK source="media_items" db=0.7ms idle=834.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["CodeRabbit CLI can fix your agent’s code before it ever\u00A0opens a PR - https://coderabbit.link/fireship Free forever for any open source project.\n\nLast week, Google surprised us all by shipping their latest micro model Gemma 4 under a truly open source license. But what's the catch? Let's run it...\n\n#coding #programming #programming\n\n🔖 Topics Covered\n- How Gemma 4 works\n- Gemma 4 benchmarks\n- TurboQuant\n\n📌 Resources\n- https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-gemma-4\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Google just casually disrupted the open-source AI narrative…", "6c8dd3da-8621-4ac4-a964-ab7fe09955a1", "-01ZCTt-CJw", 315, false, "https://www.youtube.com/watch?v=-01ZCTt-CJw", 19, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e040800_Google just casually disrupted the open-source AI narrative….mp4", false, false, false, 36, [], 98, ~U[2026-04-08 19:00:10Z], ~U[2026-06-29 11:57:12Z], ~U[2026-06-29 11:57:12Z], "CodeRabbit CLI can fix your agent’s code before it ever\u00A0opens a PR - https://coderabbit.link/fireship Free forever for any open source project.\n\nLast week, Google surprised us all by shipping their latest micro model Gemma 4 under a truly open source license. But what's the catch? Let's run it...\n\n#coding #programming #programming\n\n🔖 Topics Covered\n- How Gemma 4 works\n- Gemma 4 benchmarks\n- TurboQuant\n\n📌 Resources\n- https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-gemma-4\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Google just casually disrupted the open-source AI narrative…", "-01ZCTt-CJw", 315, false, "https://www.youtube.com/watch?v=-01ZCTt-CJw", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e040800_Google just casually disrupted the open-source AI narrative….mp4", false, 36, ~U[2026-04-08 19:00:10Z]] 06:57:12.776 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:57:12.777 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:57:12.777 [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 [2682752] 06:57:12.777 [debug] Current batch of media processed. Will check again in 1000ms 06:57:13.777 [debug] Current batch of media processed. Will check again in 1000ms 06:57:14.424 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCsBjURrPoezykLs9EqgamOA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/a5/15/a515d75aa2725747238403e94f212595cde3b6fa75a2617c9976987a34d4592c.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b0/27/b0271749204a6be99d6f5f2d9227c8fa6de8190e40dcfa8b341a452e4e3e4531.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 06:57:14.425 [debug] Gracefully stopping file follower 06:57:14.425 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [36] 06:57:14.426 [debug] QUERY OK source="sources" db=0.1ms idle=484.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:57:14.427 [debug] QUERY OK source="media_items" db=1.3ms idle=484.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-23 16:46:50Z], 36] 06:57:14.428 [debug] QUERY OK source="media_items" db=0.7ms idle=486.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try out Retool's new AI app builder to safely connect your apps to your team's data and APIs - https://fandf.co/4e2lDe2\n\nFounder of Midjourney, David Holz, just announced plans to make a new medical imaging device capable of full body scans which he claims is faster and cheaper than an MRI. But how does it work, if at all?\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- Midjourney Medical\n- Fullbody Ultrasonic Computational Tomography (FUCT)\n- Midjourney Spa\n- Will it work?\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Midjourney has a new side quest... death", "ac55d7c1-856d-4126-b07a-bae007154ab1", "a2i9h2ip-nY", 326, false, "https://www.youtube.com/watch?v=a2i9h2ip-nY", 1, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e062300_Midjourney has a new side quest... death.mp4", false, false, false, 36, [], 98, ~U[2026-06-23 16:46:50Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Try out Retool's new AI app builder to safely connect your apps to your team's data and APIs - https://fandf.co/4e2lDe2\n\nFounder of Midjourney, David Holz, just announced plans to make a new medical imaging device capable of full body scans which he claims is faster and cheaper than an MRI. But how does it work, if at all?\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- Midjourney Medical\n- Fullbody Ultrasonic Computational Tomography (FUCT)\n- Midjourney Spa\n- Will it work?\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Midjourney has a new side quest... death", "a2i9h2ip-nY", 326, false, "https://www.youtube.com/watch?v=a2i9h2ip-nY", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e062300_Midjourney has a new side quest... death.mp4", false, 36, ~U[2026-06-23 16:46:50Z]] 06:57:14.428 [debug] QUERY OK source="sources" db=0.1ms idle=487.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:57:14.430 [debug] QUERY OK source="media_items" db=1.2ms 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-19 17:24:47Z], 36] 06:57:14.431 [debug] QUERY OK source="media_items" db=0.6ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Junie is the #1 coding agent on SWE-Rebench and it'll save you a bunch of tokens - https://jb.gg/Fireship-Junie-GA\n\nUse code: FIRESHIP20 to to get 20 free AI credits\n\nSQLite, the world's most trusted code, just got rewritten in Rust and it actually works. It's called Turso and it ships some cool features you won't find in SQLite.\n\n#coding #programming #technology \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The most trusted code on Earth is being rewritten in Rust", "eaa536ea-10e6-48a8-938d-2755875fadc9", "Sntj4HmuykI", 319, false, "https://www.youtube.com/watch?v=Sntj4HmuykI", 2, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061900_The most trusted code on Earth is being rewritten in Rust.mp4", false, false, false, 36, [], 98, ~U[2026-06-19 17:24:47Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Junie is the #1 coding agent on SWE-Rebench and it'll save you a bunch of tokens - https://jb.gg/Fireship-Junie-GA\n\nUse code: FIRESHIP20 to to get 20 free AI credits\n\nSQLite, the world's most trusted code, just got rewritten in Rust and it actually works. It's called Turso and it ships some cool features you won't find in SQLite.\n\n#coding #programming #technology \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The most trusted code on Earth is being rewritten in Rust", "Sntj4HmuykI", 319, false, "https://www.youtube.com/watch?v=Sntj4HmuykI", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061900_The most trusted code on Earth is being rewritten in Rust.mp4", false, 36, ~U[2026-06-19 17:24:47Z]] 06:57:14.431 [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" = ?) [36] 06:57:14.432 [debug] QUERY OK source="media_items" db=1.2ms 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-06-17 16:29:01Z], 36] 06:57:14.434 [debug] QUERY OK source="media_items" db=0.9ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Coder lets you self-host your coding agents with enterprise-grade security - https://fandf.co/4tZvtU5\n\nThese 10 mind-blowing computer science papers made everything in modern computing possible. In today's video, we'll take a look at how they changed the world for better or worse. \n\n#coding #programming #computerscience #computer \n\n🔖 Topics Covered\n\n- On Computable Numbers, with an Application to the Entscheidungsproblem, Alan Turing 1936\n- A Mathematical Theory of Communication, Claude Shannon 1948\n- The Perceptron, Rosenblatt 1958 \n- Perceptrons, Marvin Minsky and Seymour Papert 1969 \n- Time, Clocks, and the Ordering of Events in a Distributed System, Leslie Lamport 1978\n- Learning representations by back-propagating errors, Rumelhart, Hinton, Williams 1986 \n- The Anatomy of a Large-Scale Hypertextual Web Search Engine, Sergey Brin and Larry Page 1998 \n- ImageNet Classification with Deep Convolutional Neural Networks, Krizhevsky, Sutskever, Hinton 2012 \n- Attention Is All You Need, Vaswani, Google 2017 \n- Language Models are Few-Shot Learners, Brown, OpenAI 2020\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I read every major CS paper of the last 100 years...", "e4f35e48-b6fd-47c3-904a-87bc10061415", "ML3q7Ok4hJg", 611, false, "https://www.youtube.com/watch?v=ML3q7Ok4hJg", 3, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061700_I read every major CS paper of the last 100 years....mp4", false, false, false, 36, [], 98, ~U[2026-06-17 16:29:01Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Coder lets you self-host your coding agents with enterprise-grade security - https://fandf.co/4tZvtU5\n\nThese 10 mind-blowing computer science papers made everything in modern computing possible. In today's video, we'll take a look at how they changed the world for better or worse. \n\n#coding #programming #computerscience #computer \n\n🔖 Topics Covered\n\n- On Computable Numbers, with an Application to the Entscheidungsproblem, Alan Turing 1936\n- A Mathematical Theory of Communication, Claude Shannon 1948\n- The Perceptron, Rosenblatt 1958 \n- Perceptrons, Marvin Minsky and Seymour Papert 1969 \n- Time, Clocks, and the Ordering of Events in a Distributed System, Leslie Lamport 1978\n- Learning representations by back-propagating errors, Rumelhart, Hinton, Williams 1986 \n- The Anatomy of a Large-Scale Hypertextual Web Search Engine, Sergey Brin and Larry Page 1998 \n- ImageNet Classification with Deep Convolutional Neural Networks, Krizhevsky, Sutskever, Hinton 2012 \n- Attention Is All You Need, Vaswani, Google 2017 \n- Language Models are Few-Shot Learners, Brown, OpenAI 2020\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I read every major CS paper of the last 100 years...", "ML3q7Ok4hJg", 611, false, "https://www.youtube.com/watch?v=ML3q7Ok4hJg", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061700_I read every major CS paper of the last 100 years....mp4", false, 36, ~U[2026-06-17 16:29:01Z]] 06:57:14.434 [debug] QUERY OK source="sources" db=0.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:57:14.436 [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-15 18:35:58Z], 36] 06:57:14.436 [debug] QUERY OK source="media_items" db=0.6ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Take BlueDot's Future of AI course for free - https://bluedot.org/fireship\n\nJust three days after the release of Claude Fable, the US government stepped in and banned it in the name of national security. But why?\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- What makes Fable allegedly unsafe?\n- Fable Jailbreak\n- Fable gets banned\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "One man just liberated Fable... and now it’s illegal", "b5d5435e-8c23-460c-86b9-d903c6778d09", "ey_GaPdC9zk", 314, false, "https://www.youtube.com/watch?v=ey_GaPdC9zk", 4, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061500_One man just liberated Fable... and now it’s illegal.mp4", false, false, false, 36, [], 98, ~U[2026-06-15 18:35:58Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Take BlueDot's Future of AI course for free - https://bluedot.org/fireship\n\nJust three days after the release of Claude Fable, the US government stepped in and banned it in the name of national security. But why?\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- What makes Fable allegedly unsafe?\n- Fable Jailbreak\n- Fable gets banned\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "One man just liberated Fable... and now it’s illegal", "ey_GaPdC9zk", 314, false, "https://www.youtube.com/watch?v=ey_GaPdC9zk", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061500_One man just liberated Fable... and now it’s illegal.mp4", false, 36, ~U[2026-06-15 18:35:58Z]] 06:57:14.437 [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" = ?) [36] 06:57:14.438 [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-11 17:17:48Z], 36] 06:57:14.439 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Render is the easiest place to ship full-stack apps and agents. The first 2,000 people to use the code RENDER-FIRESHIP will get $50 in credits: https://dashboard.render.com/register?utm_source=youtube&utm_medium=organic_video&utm_campaign=2026_partnership_fireship\n\nThis week, Anthropic released Claude Fable, a Mythos class model that's been carefully lobotomized for public consumption. But is it legit? Let's run it...\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- Claude Fable release\n- Fable 5 vs Opus 4.8\n- Fable 5 Demo\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Anthropic begged the world to stop AI… then shipped this", "f4c8c9c9-842a-4fb0-81ce-bafd62509f27", "1PBRhm5ZnjU", 308, false, "https://www.youtube.com/watch?v=1PBRhm5ZnjU", 5, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061100_Anthropic begged the world to stop AI… then shipped this.mp4", false, false, false, 36, [], 98, ~U[2026-06-11 17:17:48Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Render is the easiest place to ship full-stack apps and agents. The first 2,000 people to use the code RENDER-FIRESHIP will get $50 in credits: https://dashboard.render.com/register?utm_source=youtube&utm_medium=organic_video&utm_campaign=2026_partnership_fireship\n\nThis week, Anthropic released Claude Fable, a Mythos class model that's been carefully lobotomized for public consumption. But is it legit? Let's run it...\n\n#coding #programming #ai\n\n🔖 Topics Covered\n- Claude Fable release\n- Fable 5 vs Opus 4.8\n- Fable 5 Demo\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Anthropic begged the world to stop AI… then shipped this", "1PBRhm5ZnjU", 308, false, "https://www.youtube.com/watch?v=1PBRhm5ZnjU", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e061100_Anthropic begged the world to stop AI… then shipped this.mp4", false, 36, ~U[2026-06-11 17:17:48Z]] 06:57:14.439 [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" = ?) [36] 06:57:14.441 [debug] QUERY OK source="media_items" db=1.2ms 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-06-09 17:32:30Z], 36] 06:57:14.442 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get $30 of Pioneer inference credits for only $5 - https://pioneer.ai/?utm_source=youtube&utm_medium=ext_social&utm_campaign=pioneer_launch&utm_content=FS\n\nAnthropic just proposed something insane - the idea that maybe we should wait a second and pause all AI development. But why now?\n\n#coding #programming #ai #nthropic\n\n📚 Resources\n- https://www.anthropic.com/institute/recursive-self-improvement\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Anthropic is starting to panic…", "d033ceb2-36c4-4405-85b2-6938ee58269e", "0pgCBV8CTZY", 303, false, "https://www.youtube.com/watch?v=0pgCBV8CTZY", 6, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e060900_Anthropic is starting to panic….mp4", false, false, false, 36, [], 98, ~U[2026-06-09 17:32:30Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Get $30 of Pioneer inference credits for only $5 - https://pioneer.ai/?utm_source=youtube&utm_medium=ext_social&utm_campaign=pioneer_launch&utm_content=FS\n\nAnthropic just proposed something insane - the idea that maybe we should wait a second and pause all AI development. But why now?\n\n#coding #programming #ai #nthropic\n\n📚 Resources\n- https://www.anthropic.com/institute/recursive-self-improvement\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Anthropic is starting to panic…", "0pgCBV8CTZY", 303, false, "https://www.youtube.com/watch?v=0pgCBV8CTZY", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e060900_Anthropic is starting to panic….mp4", false, 36, ~U[2026-06-09 17:32:30Z]] 06:57:14.442 [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" = ?) [36] 06:57:14.443 [debug] QUERY OK source="media_items" db=1.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-05-29 17:06:48Z], 36] 06:57:14.444 [debug] QUERY OK source="media_items" db=0.6ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Clerk's new CLI sets up end-to-end auth for your entire app. Try it - https://go.clerk.com/0mR9oMU\n\nJavaScript was terrible... until one man was brave enough to save it.\n\n#coding #programming #javascript \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The forgotten developer who saved JavaScript...", "7cd710a4-3410-49f1-a934-a9d0bb20dc4e", "JfPWbttemYE", 388, false, "https://www.youtube.com/watch?v=JfPWbttemYE", 7, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052900_The forgotten developer who saved JavaScript....mp4", false, false, false, 36, [], 98, ~U[2026-05-29 17:06:48Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Clerk's new CLI sets up end-to-end auth for your entire app. Try it - https://go.clerk.com/0mR9oMU\n\nJavaScript was terrible... until one man was brave enough to save it.\n\n#coding #programming #javascript \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The forgotten developer who saved JavaScript...", "JfPWbttemYE", 388, false, "https://www.youtube.com/watch?v=JfPWbttemYE", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052900_The forgotten developer who saved JavaScript....mp4", false, 36, ~U[2026-05-29 17:06:48Z]] 06:57:14.445 [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" = ?) [36] 06:57:14.446 [debug] QUERY OK source="media_items" db=1.1ms 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-26 17:53:11Z], 36] 06:57:14.447 [debug] QUERY OK source="media_items" db=0.7ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get $1,000 in Hyperagent inference credits: https://www.hyperagent.com/fireship \n\nApply to the Founding 500 to get $20k for your project: https://www.hyperagent.com\n\nIn today's video, we'll look at 10 new open source projects that are saving developers from prompt bro hell.\n\n#coding #programming #coding #oss #opensource \n\n🔖 Topics Covered\n\n- Ratty 3D Terminal https://ratty-term.org/\n- TheyLive Adblocker https://github.com/davmlaw/they_live_adblocker\n- TerminalPhone https://gitlab.com/here_forawhile/terminalphone\n- Cuda Oxide https://nvlabs.github.io/cuda-oxide/index.html\n- Wario Synth https://www.wario.style/\n- Jmail & EpstienExposed https://epsteinexposed.com/\n- Wikipedia Doomscroller https://xikipedia.org/\n- Puter https://github.com/HeyPuter/puter\n- Honker https://github.com/russellromney/honker\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "10 weird OSS projects you need right now...", "f77900e8-71ab-415c-999c-0f3ca9cd2efa", "qPuzWFvRajk", 422, false, "https://www.youtube.com/watch?v=qPuzWFvRajk", 8, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052600_10 weird OSS projects you need right now....mp4", false, false, false, 36, [], 98, ~U[2026-05-26 17:53:11Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Get $1,000 in Hyperagent inference credits: https://www.hyperagent.com/fireship \n\nApply to the Founding 500 to get $20k for your project: https://www.hyperagent.com\n\nIn today's video, we'll look at 10 new open source projects that are saving developers from prompt bro hell.\n\n#coding #programming #coding #oss #opensource \n\n🔖 Topics Covered\n\n- Ratty 3D Terminal https://ratty-term.org/\n- TheyLive Adblocker https://github.com/davmlaw/they_live_adblocker\n- TerminalPhone https://gitlab.com/here_forawhile/terminalphone\n- Cuda Oxide https://nvlabs.github.io/cuda-oxide/index.html\n- Wario Synth https://www.wario.style/\n- Jmail & EpstienExposed https://epsteinexposed.com/\n- Wikipedia Doomscroller https://xikipedia.org/\n- Puter https://github.com/HeyPuter/puter\n- Honker https://github.com/russellromney/honker\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "10 weird OSS projects you need right now...", "qPuzWFvRajk", 422, false, "https://www.youtube.com/watch?v=qPuzWFvRajk", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052600_10 weird OSS projects you need right now....mp4", false, 36, ~U[2026-05-26 17:53:11Z]] 06:57:14.447 [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" = ?) [36] 06:57:14.448 [debug] QUERY OK source="media_items" db=1.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-05-22 16:38:42Z], 36] 06:57:14.450 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try using Emergent's specialized agents in parallel to build any full-stack application -\u00A0https://app.emergent.sh/?utm_shift=redirect&via=fireship\n\nAt Google I/O 2026, Sundar Pichai and Demis Hassabis set out the roadmap for Google's 'agentic Gemini era', with Gemini hiding inside every product like the microplastics in your bloodstream. But what else did they announce?\n\n#coding #programming #google #ai \n\n🔖 Topics Covered\n- Google I/O 2026 Announcements\n- Everything is an agent now\n- Google's TPU chip\n- Gemini Omni\n- Antigravity\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Google’s AI endgame is here… everything you missed at I/O 2026", "fa6a3171-df79-4f2a-9970-98c1e6c7fcf9", "9OQ5vaYbGV0", 343, false, "https://www.youtube.com/watch?v=9OQ5vaYbGV0", 9, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052200_Google’s AI endgame is here… everything you missed at I⧸O 2026.mp4", false, false, false, 36, [], 98, ~U[2026-05-22 16:38:42Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Try using Emergent's specialized agents in parallel to build any full-stack application -\u00A0https://app.emergent.sh/?utm_shift=redirect&via=fireship\n\nAt Google I/O 2026, Sundar Pichai and Demis Hassabis set out the roadmap for Google's 'agentic Gemini era', with Gemini hiding inside every product like the microplastics in your bloodstream. But what else did they announce?\n\n#coding #programming #google #ai \n\n🔖 Topics Covered\n- Google I/O 2026 Announcements\n- Everything is an agent now\n- Google's TPU chip\n- Gemini Omni\n- Antigravity\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Google’s AI endgame is here… everything you missed at I/O 2026", "9OQ5vaYbGV0", 343, false, "https://www.youtube.com/watch?v=9OQ5vaYbGV0", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e052200_Google’s AI endgame is here… everything you missed at I⧸O 2026.mp4", false, 36, ~U[2026-05-22 16:38:42Z]] 06:57:14.450 [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" = ?) [36] 06:57:14.451 [debug] QUERY OK source="media_items" db=1.1ms 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 18:51:21Z], 36] 06:57:14.452 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try out Kernel for free - https://www.kernel.sh/ to give your agents blazing fast, open source infra to access the internet.\n\nScam Altman and Elon Muskrat have been battling it out in court over the future of OpenAI. Let's break it down.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I can’t believe this trial is real...", "64fa1040-02b0-4b6d-b110-f3a27ce75589", "3tbB2dffx0s", 405, false, "https://www.youtube.com/watch?v=3tbB2dffx0s", 10, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e051500_I can’t believe this trial is real....mp4", false, false, false, 36, [], 98, ~U[2026-05-15 18:51:21Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Try out Kernel for free - https://www.kernel.sh/ to give your agents blazing fast, open source infra to access the internet.\n\nScam Altman and Elon Muskrat have been battling it out in court over the future of OpenAI. Let's break it down.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I can’t believe this trial is real...", "3tbB2dffx0s", 405, false, "https://www.youtube.com/watch?v=3tbB2dffx0s", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e051500_I can’t believe this trial is real....mp4", false, 36, ~U[2026-05-15 18:51:21Z]] 06:57:14.453 [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" = ?) [36] 06:57:14.454 [debug] QUERY OK source="media_items" db=1.2ms 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-14 17:39:11Z], 36] 06:57:14.455 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try Seer Agent for free - https://sentry.io/fireship. It uses all of Sentry's context on your app to investigate production issues for you.\n\nEarlier this week Tanstack was poisoned with a sophisticated supply chain attack . In this video we break down how it happened and how you can protect yourself in the future.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "A single PR just hijacked the NPM registry...", "527117c0-6479-4bf5-bb95-6462f4a0d56e", "gwTQLZSIlsU", 376, false, "https://www.youtube.com/watch?v=gwTQLZSIlsU", 11, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e051400_A single PR just hijacked the NPM registry....mp4", false, false, false, 36, [], 98, ~U[2026-05-14 17:39:11Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Try Seer Agent for free - https://sentry.io/fireship. It uses all of Sentry's context on your app to investigate production issues for you.\n\nEarlier this week Tanstack was poisoned with a sophisticated supply chain attack . In this video we break down how it happened and how you can protect yourself in the future.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "A single PR just hijacked the NPM registry...", "gwTQLZSIlsU", 376, false, "https://www.youtube.com/watch?v=gwTQLZSIlsU", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e051400_A single PR just hijacked the NPM registry....mp4", false, 36, ~U[2026-05-14 17:39:11Z]] 06:57:14.455 [debug] QUERY OK source="sources" db=0.3ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:57:14.457 [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-05-07 17:32:34Z], 36] 06:57:14.458 [debug] QUERY OK source="media_items" db=0.7ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Railway is the easiest way to deploy anything. Get $20 in free credits - https://railway.com/?referralCode=fireship\n\nEverything that happens inside your computer from the instant you press the power button to the moment you rage quit and shut it down.\n\n#coding #programming #computer #computerscience \n\n🔖 Topics Covered\n- Bootloader\n- Privilege Ring\n- Virtual Memory \n- Filesystem\n- Drivers and Interrupts\n- Processes\n- Syscalls\n- Scheduler\n- Threads\n- IPC\n- Shutdown SIGKILL\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Every operating system concept in one video…", "eed33b6d-47a2-4542-93e2-d2804eef9323", "MtxP2pyCvYA", 690, false, "https://www.youtube.com/watch?v=MtxP2pyCvYA", 12, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e050700_Every operating system concept in one video….mp4", false, false, false, 36, [], 98, ~U[2026-05-07 17:32:34Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Railway is the easiest way to deploy anything. Get $20 in free credits - https://railway.com/?referralCode=fireship\n\nEverything that happens inside your computer from the instant you press the power button to the moment you rage quit and shut it down.\n\n#coding #programming #computer #computerscience \n\n🔖 Topics Covered\n- Bootloader\n- Privilege Ring\n- Virtual Memory \n- Filesystem\n- Drivers and Interrupts\n- Processes\n- Syscalls\n- Scheduler\n- Threads\n- IPC\n- Shutdown SIGKILL\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Every operating system concept in one video…", "MtxP2pyCvYA", 690, false, "https://www.youtube.com/watch?v=MtxP2pyCvYA", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e050700_Every operating system concept in one video….mp4", false, 36, ~U[2026-05-07 17:32:34Z]] 06:57:14.458 [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" = ?) [36] 06:57:14.460 [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-05-04 18:40:40Z], 36] 06:57:14.462 [debug] QUERY OK source="media_items" db=2.0ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["CodeRabbit's new Slack Agent lets you manage your team's agentic workflow right in Slack - https://coderabbit.link/fireship-agent\n\nA 100% reliable logic flaw was discovered in the Linux kernel and an AI tool wrote an exploit for it that affects every Linux machine updated since 2017. Let's look at the technical details behind the vulnerability and what to do if you're affected...\n\n#coding #programming #linux #python \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "732 bytes of Python just borked every Linux machine on earth…", "ef066ed3-3b3e-41fb-a8f0-b6cfc1ee7e0c", "lkifbWtxxlk", 287, false, "https://www.youtube.com/watch?v=lkifbWtxxlk", 13, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e050400_732 bytes of Python just borked every Linux machine on earth….mp4", false, false, false, 36, [], 98, ~U[2026-05-04 18:40:40Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "CodeRabbit's new Slack Agent lets you manage your team's agentic workflow right in Slack - https://coderabbit.link/fireship-agent\n\nA 100% reliable logic flaw was discovered in the Linux kernel and an AI tool wrote an exploit for it that affects every Linux machine updated since 2017. Let's look at the technical details behind the vulnerability and what to do if you're affected...\n\n#coding #programming #linux #python \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "732 bytes of Python just borked every Linux machine on earth…", "lkifbWtxxlk", 287, false, "https://www.youtube.com/watch?v=lkifbWtxxlk", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e050400_732 bytes of Python just borked every Linux machine on earth….mp4", false, 36, ~U[2026-05-04 18:40:40Z]] 06:57:14.462 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:57:14.464 [debug] QUERY OK source="media_items" db=1.2ms 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-04-30 16:37:31Z], 36] 06:57:14.465 [debug] QUERY OK source="media_items" db=0.8ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get the free 80,000 Hours career guide - https://80000hours.org/fireship\n\nGitHub is easily the most important website in software engineering but a wave of recent issues has led several 10x developers to jump ship. What's going on?\n\n#coding #programming #github #tech\n\n🔖 Topics Covered\n- The rise of GitHub\n- GitHub uptime issues \n- GitHub's week from hell\n- Why Ghostty is leaving GitHub\n- GitHub alternatives\n\n📚 Resources\n- https://mitchellh.com/writing/ghostty-leaving-github\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "GitHub is having some major issues right now…", "4d661c81-ce0d-48bc-91d3-14b795d72083", "d53Zk28esmU", 358, false, "https://www.youtube.com/watch?v=d53Zk28esmU", 14, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e043000_GitHub is having some major issues right now….mp4", false, false, false, 36, [], 98, ~U[2026-04-30 16:37:31Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Get the free 80,000 Hours career guide - https://80000hours.org/fireship\n\nGitHub is easily the most important website in software engineering but a wave of recent issues has led several 10x developers to jump ship. What's going on?\n\n#coding #programming #github #tech\n\n🔖 Topics Covered\n- The rise of GitHub\n- GitHub uptime issues \n- GitHub's week from hell\n- Why Ghostty is leaving GitHub\n- GitHub alternatives\n\n📚 Resources\n- https://mitchellh.com/writing/ghostty-leaving-github\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "GitHub is having some major issues right now…", "d53Zk28esmU", 358, false, "https://www.youtube.com/watch?v=d53Zk28esmU", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e043000_GitHub is having some major issues right now….mp4", false, 36, ~U[2026-04-30 16:37:31Z]] 06:57:14.465 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 06:57:14.467 [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-04-23 18:26:39Z], 36] 06:57:14.468 [debug] QUERY OK source="media_items" db=0.8ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get up to 67% off OpenClaw VPS hosting with Hostinger's one-click template. Use code FIRESHIP for an extra discount - https://hostinger.com/openclawfireship\n\nBack in January, OpenClaw's wild rise triggered a nation-wide Mac mini shortage and a record number of security advisories. But just last week, Peter Steinberger spoke about fixing its vulnerabilities to a room full of devs at AI Engineer Europe, and he convinced me to give it another shot.\n\n#coding #programming #ai #openclaw\n\n🔖 Topics Covered\n- The state of OpenClaw\n- Fixing OpenClaw's security issues\n- Real-life OpenClaw project\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I finally found a use case for OpenClaw…", "8f5032dc-2341-4121-bbb4-deef74604242", "FM5-R4VPArw", 315, false, "https://www.youtube.com/watch?v=FM5-R4VPArw", 15, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e042300_I finally found a use case for OpenClaw….mp4", false, false, false, 36, [], 98, ~U[2026-04-23 18:26:39Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Get up to 67% off OpenClaw VPS hosting with Hostinger's one-click template. Use code FIRESHIP for an extra discount - https://hostinger.com/openclawfireship\n\nBack in January, OpenClaw's wild rise triggered a nation-wide Mac mini shortage and a record number of security advisories. But just last week, Peter Steinberger spoke about fixing its vulnerabilities to a room full of devs at AI Engineer Europe, and he convinced me to give it another shot.\n\n#coding #programming #ai #openclaw\n\n🔖 Topics Covered\n- The state of OpenClaw\n- Fixing OpenClaw's security issues\n- Real-life OpenClaw project\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I finally found a use case for OpenClaw…", "FM5-R4VPArw", 315, false, "https://www.youtube.com/watch?v=FM5-R4VPArw", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e042300_I finally found a use case for OpenClaw….mp4", false, 36, ~U[2026-04-23 18:26:39Z]] 06:57:14.468 [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" = ?) [36] 06:57:14.470 [debug] QUERY OK source="media_items" db=1.1ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-21 17:35:43Z], 36] 06:57:14.471 [debug] QUERY OK source="media_items" db=0.8ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Run any code on Google’s world-class infrastructure - https://cloud.run. Get 2 million free requests per month\n\nClaude Design could be Anthropic's most disruptive tool since Claude Code. But can their new Opus 4.7 powered platform really turn your half-baked Figma wireframe into a production ready UI? Let's run it.\n\n#coding #programming\n\n🔖 Topics Covered\n- What is Claude Design\n- Claude Design vs Figma vs Adobe\n- Claude Design demo\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Claude just got another superpower...", "f94323e6-bb66-4fbb-9c30-8c20cbf4d6a1", "jeA-KBv0b68", 312, false, "https://www.youtube.com/watch?v=jeA-KBv0b68", 16, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e042100_Claude just got another superpower....mp4", false, false, false, 36, [], 98, ~U[2026-04-21 17:35:43Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Run any code on Google’s world-class infrastructure - https://cloud.run. Get 2 million free requests per month\n\nClaude Design could be Anthropic's most disruptive tool since Claude Code. But can their new Opus 4.7 powered platform really turn your half-baked Figma wireframe into a production ready UI? Let's run it.\n\n#coding #programming\n\n🔖 Topics Covered\n- What is Claude Design\n- Claude Design vs Figma vs Adobe\n- Claude Design demo\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Claude just got another superpower...", "jeA-KBv0b68", 312, false, "https://www.youtube.com/watch?v=jeA-KBv0b68", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e042100_Claude just got another superpower....mp4", false, 36, ~U[2026-04-21 17:35:43Z]] 06:57:14.471 [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" = ?) [36] 06:57:14.472 [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-04-16 15:29:01Z], 36] 06:57:14.474 [debug] QUERY OK source="media_items" db=0.9ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Warp is the agentic development environment born out of the terminal. Download Warp for free today at → https://go.warp.dev/fireship\n\nSomeone spent $100k buying a massive collection of WordPress plugins and planted a backdoor in all of them. Naturally, CloudFlare stepped in with EmDash: a slop-forked WP alternative that promises to fix plugin security for good.\n\n#coding #programming #wordpress\n\n🔖 Topics Covered\n- Wordpress plugin hack \n- EmDash\n\n📚 Resources\n- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/accordion-and-accordion-slider/accordion-and-accordion-slider-146-injected-backdoor\n- https://anchor.host/someone-bought-30-wordpress-plugins-and-planted-a-backdoor-in-all-of-them/\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Millions of WordPress sites just got hacked... again", "8cdda827-3772-4c13-9352-0ad04fda3d30", "piah4fV_o2Q", 316, false, "https://www.youtube.com/watch?v=piah4fV_o2Q", 17, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e041600_Millions of WordPress sites just got hacked... again.mp4", false, false, false, 36, [], 98, ~U[2026-04-16 15:29:01Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Warp is the agentic development environment born out of the terminal. Download Warp for free today at → https://go.warp.dev/fireship\n\nSomeone spent $100k buying a massive collection of WordPress plugins and planted a backdoor in all of them. Naturally, CloudFlare stepped in with EmDash: a slop-forked WP alternative that promises to fix plugin security for good.\n\n#coding #programming #wordpress\n\n🔖 Topics Covered\n- Wordpress plugin hack \n- EmDash\n\n📚 Resources\n- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/accordion-and-accordion-slider/accordion-and-accordion-slider-146-injected-backdoor\n- https://anchor.host/someone-bought-30-wordpress-plugins-and-planted-a-backdoor-in-all-of-them/\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Millions of WordPress sites just got hacked... again", "piah4fV_o2Q", 316, false, "https://www.youtube.com/watch?v=piah4fV_o2Q", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e041600_Millions of WordPress sites just got hacked... again.mp4", false, 36, ~U[2026-04-16 15:29:01Z]] 06:57:14.474 [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" = ?) [36] 06:57:14.475 [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-04-10 19:29:35Z], 36] 06:57:14.477 [debug] QUERY OK source="media_items" db=0.8ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Browserbase is the simplest way to give your agents access to the whole web. Try it for free - https://browserbase.run/fireship\n\nAnthropic locked down their new Mythos model because they say it's too dangerous for normies like you and me to use. Let's investigate...\n\n#mythos #ai #programming #claude \n\nResources:\nhttps://www.trendmicro.com/en_us/research/26/c/axios-npm-package-compromised.html\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Claude Mythos is too dangerous for public consumption...", "89254327-f06a-4873-8a4c-2af1b31188f9", "d3Qq-rkp_to", 336, false, "https://www.youtube.com/watch?v=d3Qq-rkp_to", 18, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e041000_Claude Mythos is too dangerous for public consumption....mp4", false, false, false, 36, [], 98, ~U[2026-04-10 19:29:35Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Browserbase is the simplest way to give your agents access to the whole web. Try it for free - https://browserbase.run/fireship\n\nAnthropic locked down their new Mythos model because they say it's too dangerous for normies like you and me to use. Let's investigate...\n\n#mythos #ai #programming #claude \n\nResources:\nhttps://www.trendmicro.com/en_us/research/26/c/axios-npm-package-compromised.html\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Claude Mythos is too dangerous for public consumption...", "d3Qq-rkp_to", 336, false, "https://www.youtube.com/watch?v=d3Qq-rkp_to", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e041000_Claude Mythos is too dangerous for public consumption....mp4", false, 36, ~U[2026-04-10 19:29:35Z]] 06:57:14.477 [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" = ?) [36] 06:57:14.478 [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-04-08 19:00:10Z], 36] 06:57:14.479 [debug] QUERY OK source="media_items" db=0.8ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["CodeRabbit CLI can fix your agent’s code before it ever\u00A0opens a PR - https://coderabbit.link/fireship Free forever for any open source project.\n\nLast week, Google surprised us all by shipping their latest micro model Gemma 4 under a truly open source license. But what's the catch? Let's run it...\n\n#coding #programming #programming\n\n🔖 Topics Covered\n- How Gemma 4 works\n- Gemma 4 benchmarks\n- TurboQuant\n\n📌 Resources\n- https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-gemma-4\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Google just casually disrupted the open-source AI narrative…", "7d821c0e-3c11-47a7-821b-31313674bc69", "-01ZCTt-CJw", 315, false, "https://www.youtube.com/watch?v=-01ZCTt-CJw", 19, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e040800_Google just casually disrupted the open-source AI narrative….mp4", false, false, false, 36, [], 98, ~U[2026-04-08 19:00:10Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "CodeRabbit CLI can fix your agent’s code before it ever\u00A0opens a PR - https://coderabbit.link/fireship Free forever for any open source project.\n\nLast week, Google surprised us all by shipping their latest micro model Gemma 4 under a truly open source license. But what's the catch? Let's run it...\n\n#coding #programming #programming\n\n🔖 Topics Covered\n- How Gemma 4 works\n- Gemma 4 benchmarks\n- TurboQuant\n\n📌 Resources\n- https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-gemma-4\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Google just casually disrupted the open-source AI narrative…", "-01ZCTt-CJw", 315, false, "https://www.youtube.com/watch?v=-01ZCTt-CJw", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e040800_Google just casually disrupted the open-source AI narrative….mp4", false, 36, ~U[2026-04-08 19:00:10Z]] 06:57:14.480 [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" = ?) [36] 06:57:14.481 [debug] QUERY OK source="media_items" db=1.1ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-06 18:37:57Z], 36] 06:57:14.482 [debug] QUERY OK source="media_items" db=0.7ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try Blacksmith for free to run your GitHub Actions 2x faster - https://www.blacksmith.sh/\n\nCursor 3 just introduced its own frontier model that's been suspiciously dominating all the trust me bro benchmarks. But it turns out there's a catch... \n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Cursor ditches VS Code, but not everyone is happy...", "903d6d23-ab3a-4d28-9079-7be3f308ada7", "JSuS-zXMVwE", 302, false, "https://www.youtube.com/watch?v=JSuS-zXMVwE", 20, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e040600_Cursor ditches VS Code, but not everyone is happy....mp4", false, false, false, 36, [], 98, ~U[2026-04-06 18:37:57Z], ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], "Try Blacksmith for free to run your GitHub Actions 2x faster - https://www.blacksmith.sh/\n\nCursor 3 just introduced its own frontier model that's been suspiciously dominating all the trust me bro benchmarks. But it turns out there's a catch... \n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Cursor ditches VS Code, but not everyone is happy...", "JSuS-zXMVwE", 302, false, "https://www.youtube.com/watch?v=JSuS-zXMVwE", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e040600_Cursor ditches VS Code, but not everyone is happy....mp4", false, 36, ~U[2026-04-06 18:37:57Z]] 06:57:14.483 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z], 36] 06:57:14.484 [debug] QUERY OK source="media_items" db=1.3ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [36] 06:57:14.486 [debug] QUERY OK source="media_items" db=1.3ms idle=4.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")))) [36] 06:57:14.486 [debug] QUERY OK source="media_items" db=0.3ms idle=4.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 06:57:14.487 [debug] QUERY OK source="tasks" db=0.3ms idle=2.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419795, 36, ~U[2026-06-29 11:57:14Z], ~U[2026-06-29 11:57:14Z]] 06:57:14.488 [info] {"args":{"id":36},"id":419517,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":39867355,"event":"job:stop","queue_time":949396,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 06:57:22.531 [info] {"source":"oban","duration":7558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:52.539 [info] {"source":"oban","duration":7443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:54.731 [info] {"args":{"id":3012876},"id":419779,"meta":{},"system_time":1782734274731512673,"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"]} 06:57:54.732 [debug] QUERY OK source="media_items" db=0.5ms idle=790.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" = ?) [3012876] 06:57:54.732 [info] User scripts lifecyle file either not present or is empty. Skipping. 06:57:54.733 [debug] QUERY OK source="sources" db=0.5ms idle=791.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 06:57:54.733 [debug] QUERY OK source="media_profiles" db=0.1ms idle=792.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:57:54.733 [debug] QUERY OK source="media_items" db=0.1ms idle=8.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 [3012876] 06:57:54.735 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [3012876] 06:57:54.735 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 06:57:54.735 [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 [] 06:57:54.735 [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 [] 06:57:54.735 [debug] Running yt-dlp command for action: get_downloadable_status 06:57:54.737 [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 [] 06:57:54.737 [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 [] 06:57:54.737 [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 [] 06:57:54.737 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/13/f413080a5c5fe96740ecbbcf3fe67d0f9ed12efafc3d1290d896a937b32b6d11.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 06:57:56.506 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/13/f413080a5c5fe96740ecbbcf3fe67d0f9ed12efafc3d1290d896a937b32b6d11.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks. 06:57:56.506 [error] yt-dlp download error for media item #3012876: "ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 06:57:56.507 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3012876},"id":419779,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1775560,"event":"job:exception","queue_time":440969,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 06:58:00.021 [info] {"source":"oban","duration":131,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:58:22.549 [info] {"source":"oban","duration":9670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:52.558 [info] {"source":"oban","duration":8500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.022 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:59:22.566 [info] {"source":"oban","duration":7450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:52.574 [info] {"source":"oban","duration":7474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.023 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:00:20.947 [info] {"args":{"id":3012876},"id":419779,"meta":{},"system_time":1782734420947040791,"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"]} 07:00:20.947 [debug] QUERY OK source="media_items" db=0.1ms idle=1006.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" = ?) [3012876] 07:00:20.947 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:00:20.948 [debug] QUERY OK source="sources" db=0.5ms idle=1006.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:00:20.948 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1007.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:00:20.949 [debug] QUERY OK source="media_items" db=0.5ms idle=9.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 [3012876] 07:00:20.950 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [3012876] 07:00:20.950 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:00:20.951 [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 [] 07:00:20.951 [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 [] 07:00:20.951 [debug] Running yt-dlp command for action: get_downloadable_status 07:00:20.952 [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 [] 07:00:20.952 [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 [] 07:00:20.952 [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 [] 07:00:20.952 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b3/4d/b34d3c788625e7c19b3742657f567e152474c959c05d37d2242e1ff8a2744fec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:00:22.583 [info] {"source":"oban","duration":7866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:00:22.695 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b3/4d/b34d3c788625e7c19b3742657f567e152474c959c05d37d2242e1ff8a2744fec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:00:22.695 [error] yt-dlp download error for media item #3012876: "ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:00:22.696 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3012876},"id":419779,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1749105,"event":"job:exception","queue_time":438833,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:00:52.592 [info] {"source":"oban","duration":7909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.024 [info] {"source":"oban","duration":141,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:01:22.601 [info] {"source":"oban","duration":7851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:52.610 [info] {"source":"oban","duration":7243,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.025 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:02:22.618 [info] {"source":"oban","duration":7428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:52.624 [info] {"source":"oban","duration":5959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:03:00.026 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:03:22.631 [info] {"source":"oban","duration":5502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:36.201 [info] {"args":{"id":51},"id":419778,"meta":{},"system_time":1782734616200944334,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:03:36.201 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 07:03:36.202 [debug] QUERY OK source="settings" db=0.5ms idle=260.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:03:36.202 [debug] QUERY OK source="media_profiles" db=0.1ms idle=261.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] 07:03:36.202 [debug] QUERY OK source="settings" db=0.1ms idle=7.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:03:36.202 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 07:03:36.360 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 07:03:36.361 [debug] QUERY OK source="media_items" db=0.6ms idle=159.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 07:03:36.361 [debug] QUERY OK source="media_items" db=0.4ms idle=160.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")))) [51] 07:03:36.362 [debug] QUERY OK source="tasks" db=0.1ms idle=160.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419796, 51, ~U[2026-06-29 12:03:36Z], ~U[2026-06-29 12:03:36Z]] 07:03:36.363 [info] {"args":{"id":51},"id":419778,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":161869,"event":"job:stop","queue_time":655721,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:03:52.639 [info] {"source":"oban","duration":7755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:04:00.027 [info] {"source":"oban","duration":434,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:04:22.648 [info] {"source":"oban","duration":7467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:52.656 [info] {"source":"oban","duration":7749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.029 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:05:06.330 [info] {"args":{"id":3012876},"id":419779,"meta":{},"system_time":1782734706329972300,"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"]} 07:05:06.330 [debug] QUERY OK source="media_items" db=0.6ms idle=388.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" = ?) [3012876] 07:05:06.330 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:05:06.331 [debug] QUERY OK source="sources" db=0.2ms idle=389.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:05:06.332 [debug] QUERY OK source="media_profiles" db=0.6ms idle=390.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] 07:05:06.332 [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 [3012876] 07:05:06.333 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [3012876] 07:05:06.333 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:05:06.333 [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 [] 07:05:06.333 [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 [] 07:05:06.334 [debug] Running yt-dlp command for action: get_downloadable_status 07:05:06.334 [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 [] 07:05:06.335 [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 [] 07:05:06.335 [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 [] 07:05:06.335 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e1/d4/e1d4da0fe5051fe8d69ec27111c526f51faf068b8c07252c4642dc89dd235f6a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:05:08.009 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e1/d4/e1d4da0fe5051fe8d69ec27111c526f51faf068b8c07252c4642dc89dd235f6a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:05:08.009 [error] yt-dlp download error for media item #3012876: "ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:05:08.010 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3012876},"id":419779,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1680054,"event":"job:exception","queue_time":632753,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:05:19.350 [info] {"args":{"id":52},"id":419794,"meta":{},"system_time":1782734719349950979,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:05:19.350 [debug] QUERY OK source="sources" db=0.2ms idle=1409.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:05:19.350 [debug] QUERY OK source="settings" db=0.1ms idle=1409.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:05:19.351 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:05:19.351 [debug] QUERY OK source="settings" db=0.1ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:05:19.351 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 07:05:19.490 [debug] Media ids fetched from RSS: ["HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 07:05:19.491 [debug] QUERY OK source="media_items" db=0.5ms idle=140.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 07:05:19.492 [debug] QUERY OK source="media_items" db=0.6ms idle=141.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [52] 07:05:19.495 [debug] QUERY OK source="tasks" db=0.1ms idle=143.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419797, 1301334, ~U[2026-06-29 12:05:19Z], ~U[2026-06-29 12:05:19Z]] 07:05:19.497 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419798, 1301335, ~U[2026-06-29 12:05:19Z], ~U[2026-06-29 12:05:19Z]] 07:05:19.500 [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" [419799, 1301347, ~U[2026-06-29 12:05:19Z], ~U[2026-06-29 12:05:19Z]] 07:05:19.502 [debug] QUERY OK source="tasks" db=0.3ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419800, 1301392, ~U[2026-06-29 12:05:19Z], ~U[2026-06-29 12:05:19Z]] 07:05:19.504 [info] {"args":{"id":1301334},"id":419797,"meta":{},"system_time":1782734719503888824,"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"]} 07:05:19.505 [info] {"args":{"id":1301335},"id":419798,"meta":{},"system_time":1782734719504915919,"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"]} 07:05:19.505 [debug] QUERY OK source="media_items" db=0.5ms idle=2.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 07:05:19.505 [debug] QUERY OK source="media_items" db=0.6ms idle=2.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 07:05:19.505 [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" [419801, 1301393, ~U[2026-06-29 12:05:19Z], ~U[2026-06-29 12:05:19Z]] 07:05:19.505 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:05:19.505 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:05:19.506 [debug] QUERY OK source="sources" db=0.5ms idle=0.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:05:19.507 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:05:19.509 [debug] QUERY OK source="sources" db=3.1ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:05:19.509 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 07:05:19.510 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms 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 [1301335] 07:05:19.510 [debug] QUERY OK source="tasks" db=0.2ms idle=0.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419802, 1301394, ~U[2026-06-29 12:05:19Z], ~U[2026-06-29 12:05:19Z]] 07:05:19.510 [debug] QUERY OK source="media_items" db=0.5ms idle=0.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 [1301334] 07:05:19.511 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [1301335] 07:05:19.512 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:05:19.512 [debug] QUERY OK source="media_metadata" db=0.3ms 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" = ?) [1301334] 07:05:19.512 [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 [] 07:05:19.513 [debug] QUERY OK source="media_profiles" db=0.9ms 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] 07:05:19.513 [debug] QUERY OK source="settings" db=0.2ms queue=0.7ms 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 [] 07:05:19.513 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:05:19.513 [debug] Running yt-dlp command for action: get_downloadable_status 07:05:19.514 [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 [] 07:05:19.514 [debug] QUERY OK source="tasks" db=0.4ms idle=0.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419803, 1301395, ~U[2026-06-29 12:05:19Z], ~U[2026-06-29 12:05:19Z]] 07:05:19.515 [debug] Running yt-dlp command for action: get_downloadable_status 07:05:19.515 [debug] QUERY OK source="settings" db=0.4ms 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 [] 07:05:19.515 [debug] QUERY OK source="settings" db=0.2ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:05:19.515 [debug] QUERY OK source="settings" db=0.3ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:05:19.515 [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 [] 07:05:19.515 [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 [] 07:05:19.516 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/eb/d6/ebd61d185b71e2f15e10e0391fc6cb0bee00194b83df60276975b3e1f0dff594.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:05:19.516 [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 [] 07:05:19.516 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/34/e83489fbcbc06a6532afe4950b4fcd720c0a521fbcef091e66b21b461b144336.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:05:19.518 [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" [419804, 1301397, ~U[2026-06-29 12:05:19Z], ~U[2026-06-29 12:05:19Z]] 07:05:19.520 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419805, 1301398, ~U[2026-06-29 12:05:19Z], ~U[2026-06-29 12:05:19Z]] 07:05:19.523 [debug] QUERY OK source="tasks" db=0.2ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419806, 1301399, ~U[2026-06-29 12:05:19Z], ~U[2026-06-29 12:05:19Z]] 07:05:19.525 [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" [419807, 1301400, ~U[2026-06-29 12:05:19Z], ~U[2026-06-29 12:05:19Z]] 07:05:19.527 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419808, 2720968, ~U[2026-06-29 12:05:19Z], ~U[2026-06-29 12:05:19Z]] 07:05:19.528 [debug] QUERY OK source="tasks" db=0.2ms idle=1.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419809, 52, ~U[2026-06-29 12:05:19Z], ~U[2026-06-29 12:05:19Z]] 07:05:19.529 [info] {"args":{"id":52},"id":419794,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":179036,"event":"job:stop","queue_time":759536,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:05:21.309 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/34/e83489fbcbc06a6532afe4950b4fcd720c0a521fbcef091e66b21b461b144336.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:05:21.309 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:21.309 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:21.310 [info] {"args":{"id":1301334},"id":419797,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1806086,"event":"job:stop","queue_time":500933,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:05:21.316 [info] {"args":{"id":1301347},"id":419799,"meta":{},"system_time":1782734721316616361,"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"]} 07:05:21.317 [debug] QUERY OK source="media_items" db=0.2ms idle=375.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301347] 07:05:21.317 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:05:21.317 [debug] QUERY OK source="sources" db=0.1ms idle=375.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:05:21.317 [debug] QUERY OK source="media_profiles" db=0.1ms idle=376.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:05:21.318 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301347] 07:05:21.319 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301347] 07:05:21.320 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:05:21.320 [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 [] 07:05:21.320 [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 [] 07:05:21.320 [debug] Running yt-dlp command for action: get_downloadable_status 07:05:21.322 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:05:21.322 [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 [] 07:05:21.322 [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 [] 07:05:21.322 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fb/bf/fbbff1295382565aead04d5f97bce65726647bc0acfa47d42ad7bfbda3cbb02e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:05:21.625 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/eb/d6/ebd61d185b71e2f15e10e0391fc6cb0bee00194b83df60276975b3e1f0dff594.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:05:21.625 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:21.625 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:21.625 [info] {"args":{"id":1301335},"id":419798,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2120529,"event":"job:stop","queue_time":500933,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:05:21.632 [info] {"args":{"id":1301392},"id":419800,"meta":{},"system_time":1782734721632812795,"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"]} 07:05:21.633 [debug] QUERY OK source="media_items" db=0.2ms idle=310.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301392] 07:05:21.633 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:05:21.633 [debug] QUERY OK source="sources" db=0.1ms idle=310.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:05:21.633 [debug] QUERY OK source="media_profiles" db=0.1ms idle=287.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] 07:05:21.634 [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 [1301392] 07:05:21.635 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301392] 07:05:21.635 [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] 07:05:21.636 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:05:21.636 [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 [] 07:05:21.636 [debug] Running yt-dlp command for action: get_downloadable_status 07:05:21.638 [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 [] 07:05:21.638 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:05:21.638 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:05:21.638 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/81/f0/81f00535b30cb9629e3988f9cde654d82e5bd558aae859a24a1b98fc648d16f9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:05:22.665 [info] {"source":"oban","duration":8295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:22.961 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fb/bf/fbbff1295382565aead04d5f97bce65726647bc0acfa47d42ad7bfbda3cbb02e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:05:22.962 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:22.962 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:22.962 [info] {"args":{"id":1301347},"id":419799,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1645644,"event":"job:stop","queue_time":2315953,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:05:22.970 [info] {"args":{"id":1301393},"id":419801,"meta":{},"system_time":1782734722970151182,"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"]} 07:05:22.970 [debug] QUERY OK source="media_items" db=0.1ms idle=29.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301393] 07:05:22.970 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:05:22.971 [debug] QUERY OK source="sources" db=0.1ms idle=29.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:05:22.971 [debug] QUERY OK source="media_profiles" db=0.1ms idle=30.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] 07:05:22.971 [debug] QUERY OK source="media_items" db=0.3ms 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 [1301393] 07:05:22.973 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301393] 07:05:22.973 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:05:22.973 [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 [] 07:05:22.973 [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 [] 07:05:22.973 [debug] Running yt-dlp command for action: get_downloadable_status 07:05:22.974 [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 [] 07:05:22.974 [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 [] 07:05:22.975 [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 [] 07:05:22.975 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/57/c4577c7afae9e26bc3033d4c62057befff8f5a22deb456dd8375cd85060bd93e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:05:23.484 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/81/f0/81f00535b30cb9629e3988f9cde654d82e5bd558aae859a24a1b98fc648d16f9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:05:23.484 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:23.484 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:23.484 [info] {"args":{"id":1301392},"id":419800,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1851619,"event":"job:stop","queue_time":2631953,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:05:23.491 [info] {"args":{"id":1301394},"id":419802,"meta":{},"system_time":1782734723491638391,"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"]} 07:05:23.492 [debug] QUERY OK source="media_items" db=0.1ms idle=516.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" = ?) [1301394] 07:05:23.492 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:05:23.492 [debug] QUERY OK source="sources" db=0.2ms idle=517.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:05:23.492 [debug] QUERY OK source="media_profiles" db=0.1ms idle=143.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] 07:05:23.493 [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 [1301394] 07:05:23.494 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301394] 07:05:23.494 [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] 07:05:23.495 [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 [] 07:05:23.495 [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 [] 07:05:23.495 [debug] Running yt-dlp command for action: get_downloadable_status 07:05:23.496 [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 [] 07:05:23.496 [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 [] 07:05:23.496 [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 [] 07:05:23.496 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9f/bd/9fbd4ced2395b12d5d782065ced4326d8462231c2a7a05fc42e52240524e782e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:05:24.707 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/57/c4577c7afae9e26bc3033d4c62057befff8f5a22deb456dd8375cd85060bd93e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:05:24.707 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:24.707 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:24.708 [info] {"args":{"id":1301393},"id":419801,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1737714,"event":"job:stop","queue_time":3968897,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:05:24.714 [info] {"args":{"id":1301395},"id":419803,"meta":{},"system_time":1782734724714607155,"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"]} 07:05:24.715 [debug] QUERY OK source="media_items" db=0.2ms idle=1218.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" = ?) [1301395] 07:05:24.715 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:05:24.715 [debug] QUERY OK source="sources" db=0.2ms idle=1218.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:05:24.715 [debug] QUERY OK source="media_profiles" db=0.1ms idle=365.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:05:24.716 [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 [1301395] 07:05:24.717 [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" = ?) [1301395] 07:05:24.717 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:05:24.717 [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 [] 07:05:24.718 [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 [] 07:05:24.718 [debug] Running yt-dlp command for action: get_downloadable_status 07:05:24.719 [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 [] 07:05:24.719 [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 [] 07:05:24.719 [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 [] 07:05:24.719 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/16/8c/168ca16c2e0ddea737cd9e393fa147e60d6d2216ff838cd24455a2e70161070b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:05:25.327 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9f/bd/9fbd4ced2395b12d5d782065ced4326d8462231c2a7a05fc42e52240524e782e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:05:25.327 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:25.327 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:25.328 [info] {"args":{"id":1301394},"id":419802,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1836371,"event":"job:stop","queue_time":4490963,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:05:25.334 [info] {"args":{"id":1301397},"id":419804,"meta":{},"system_time":1782734725334626228,"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"]} 07:05:25.335 [debug] QUERY OK source="media_items" db=0.1ms idle=615.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" = ?) [1301397] 07:05:25.335 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:05:25.335 [debug] QUERY OK source="sources" db=0.2ms idle=615.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:05:25.335 [debug] QUERY OK source="media_profiles" db=0.1ms idle=615.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] 07:05:25.336 [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 [1301397] 07:05:25.337 [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" = ?) [1301397] 07:05:25.337 [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] 07:05:25.338 [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 [] 07:05:25.338 [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 [] 07:05:25.338 [debug] Running yt-dlp command for action: get_downloadable_status 07:05:25.339 [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 [] 07:05:25.339 [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 [] 07:05:25.339 [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 [] 07:05:25.339 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/df/7d/df7d42c271b252d058f4c98ba37be6423aee8f9c28df2a091f60d742c7d936c0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:05:26.592 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/16/8c/168ca16c2e0ddea737cd9e393fa147e60d6d2216ff838cd24455a2e70161070b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:05:26.592 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:26.592 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:26.593 [info] {"args":{"id":1301395},"id":419803,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1878388,"event":"job:stop","queue_time":5713956,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:05:26.599 [info] {"args":{"id":1301398},"id":419805,"meta":{},"system_time":1782734726599661095,"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"]} 07:05:26.600 [debug] QUERY OK source="media_items" db=0.1ms idle=1260.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" = ?) [1301398] 07:05:26.600 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:05:26.600 [debug] QUERY OK source="sources" db=0.1ms idle=1248.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:05:26.600 [debug] QUERY OK source="media_profiles" db=0.1ms idle=247.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:05:26.601 [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 [1301398] 07:05:26.601 [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" = ?) [1301398] 07:05:26.601 [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] 07:05:26.602 [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 [] 07:05:26.602 [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 [] 07:05:26.602 [debug] Running yt-dlp command for action: get_downloadable_status 07:05:26.604 [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 [] 07:05:26.604 [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 [] 07:05:26.604 [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 [] 07:05:26.604 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/71/43/7143ed231e2489b2b6ebf2868c156bc6cd05caa6257af9e1641dd19e30554802.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:05:27.195 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/df/7d/df7d42c271b252d058f4c98ba37be6423aee8f9c28df2a091f60d742c7d936c0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:05:27.195 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:27.195 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:27.195 [info] {"args":{"id":1301397},"id":419804,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1860707,"event":"job:stop","queue_time":6333962,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:05:27.201 [info] {"args":{"id":1301399},"id":419806,"meta":{},"system_time":1782734727201601750,"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"]} 07:05:27.202 [debug] QUERY OK source="media_items" db=0.2ms idle=597.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" = ?) [1301399] 07:05:27.202 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:05:27.202 [debug] QUERY OK source="sources" db=0.2ms idle=597.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:05:27.202 [debug] QUERY OK source="media_profiles" db=0.2ms idle=597.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] 07:05:27.203 [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 [1301399] 07:05:27.204 [debug] QUERY OK source="media_metadata" db=0.0ms 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" = ?) [1301399] 07:05:27.204 [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] 07:05:27.205 [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 [] 07:05:27.205 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:05:27.205 [debug] Running yt-dlp command for action: get_downloadable_status 07:05:27.205 [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 [] 07:05:27.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 [] 07:05:27.206 [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 [] 07:05:27.206 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/2a/462a774e3dc5bff5b6ac2c5e57ad30d84f6743f8cd504b0c65a3128b5e4bdba3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:05:28.264 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/71/43/7143ed231e2489b2b6ebf2868c156bc6cd05caa6257af9e1641dd19e30554802.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:05:28.264 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:28.265 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:28.265 [info] {"args":{"id":1301398},"id":419805,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1665438,"event":"job:stop","queue_time":7598945,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:05:28.271 [info] {"args":{"id":1301400},"id":419807,"meta":{},"system_time":1782734728271596608,"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"]} 07:05:28.271 [debug] QUERY OK source="media_items" db=0.1ms idle=1065.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" = ?) [1301400] 07:05:28.272 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:05:28.272 [debug] QUERY OK source="sources" db=0.1ms idle=1065.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:05:28.272 [debug] QUERY OK source="media_profiles" db=0.1ms idle=918.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:05:28.273 [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 [1301400] 07:05:28.274 [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" = ?) [1301400] 07:05:28.274 [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] 07:05:28.274 [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 [] 07:05:28.274 [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 [] 07:05:28.275 [debug] Running yt-dlp command for action: get_downloadable_status 07:05:28.275 [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 [] 07:05:28.275 [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 [] 07:05:28.276 [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 [] 07:05:28.276 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0a/bc/0abc7b54aff0ec0ce2d713b24672d74c9ceea19a9416537b19b35f7553d120a1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:05:29.009 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/2a/462a774e3dc5bff5b6ac2c5e57ad30d84f6743f8cd504b0c65a3128b5e4bdba3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:05:29.009 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:29.009 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:29.009 [info] {"args":{"id":1301399},"id":419806,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1807765,"event":"job:stop","queue_time":8200888,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:05:29.016 [info] {"args":{"id":2720968},"id":419808,"meta":{},"system_time":1782734729016567071,"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"]} 07:05:29.016 [debug] QUERY OK source="media_items" db=0.2ms idle=740.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" = ?) [2720968] 07:05:29.017 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:05:29.017 [debug] QUERY OK source="sources" db=0.2ms idle=741.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:05:29.017 [debug] QUERY OK source="media_profiles" db=0.2ms idle=662.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:05:29.018 [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 [2720968] 07:05:29.019 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [2720968] 07:05:29.019 [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] 07:05:29.019 [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 [] 07:05:29.019 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:05:29.019 [debug] Running yt-dlp command for action: get_downloadable_status 07:05:29.020 [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 [] 07:05:29.020 [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 [] 07:05:29.020 [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 [] 07:05:29.020 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/01/4f/014fac63d060d3ed917557283428b09aea0f8b86625ce844cc1037cab2e7f981.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:05:30.000 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0a/bc/0abc7b54aff0ec0ce2d713b24672d74c9ceea19a9416537b19b35f7553d120a1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:05:30.000 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:30.000 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:30.000 [info] {"args":{"id":1301400},"id":419807,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1728900,"event":"job:stop","queue_time":9270939,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:05:30.962 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/01/4f/014fac63d060d3ed917557283428b09aea0f8b86625ce844cc1037cab2e7f981.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:05:30.962 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:30.963 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:05:30.963 [info] {"args":{"id":2720968},"id":419808,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1946494,"event":"job:stop","queue_time":10015894,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:05:52.674 [info] {"source":"oban","duration":8468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.030 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:06:22.683 [info] {"source":"oban","duration":8273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:06:52.692 [info] {"source":"oban","duration":8306,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.031 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:07:22.698 [info] {"source":"oban","duration":5744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:37.551 [info] {"args":{"id":30},"id":419760,"meta":{},"system_time":1782734857551378868,"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"]} 07:07:37.551 [debug] QUERY OK source="sources" db=0.1ms idle=1610.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:07:37.552 [debug] QUERY OK source="settings" db=0.5ms idle=1009.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:07:37.552 [info] {"args":{"id":2498914},"id":412602,"meta":{},"system_time":1782734857552835128,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":18,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:07:37.553 [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" = ?) [2498914] 07:07:37.553 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:07:37.553 [debug] QUERY OK source="sources" db=0.3ms idle=1.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:07:37.554 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:07:37.554 [debug] QUERY OK source="media_items" db=0.3ms 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 [2498914] 07:07:37.555 [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" = ?) [2498914] 07:07:37.556 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 07:07:37.556 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:07:37.556 [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 [] 07:07:37.557 [debug] Running yt-dlp command for action: get_downloadable_status 07:07:37.557 [debug] QUERY OK source="media_items" db=5.2ms 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")))) [30] 07:07:37.558 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:07:37.558 [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 [] 07:07:37.558 [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 [] 07:07:37.558 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jIUxp7Kkgeg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/30/84/308434d0fb0be8723a8202daf7d08ea0615c908764aace3c25cd2439c7516117.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:07:37.558 [debug] QUERY OK source="media_items" db=0.6ms idle=1.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 07:07:37.558 [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] 07:07:37.559 [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 [] 07:07:37.559 [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 [] 07:07:37.567 [debug] QUERY OK source="media_items" db=6.9ms 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."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [30] 07:07:37.568 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 07:07:37.568 [debug] Current batch of media processed. Will check again in 1000ms 07:07:37.568 [debug] QUERY OK source="settings" db=0.1ms idle=9.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:07:37.568 [debug] QUERY OK source="settings" db=0.0ms idle=9.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:07:37.569 [debug] QUERY OK source="settings" db=0.0ms idle=9.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:07:37.569 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCld68syR8Wi-GY_n4CaoJGA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/4f/67/4f673248c828ef47238116ff4d1757ef0b7da47fa0f8dc94d9bf68e94b907402.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/49/fa/49fa4135b227b41b7911714cd702eb092a9e372349aa7455e76939e561cb8c19.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:07:38.569 [debug] Current batch of media processed. Will check again in 1000ms 07:07:39.479 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jIUxp7Kkgeg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/30/84/308434d0fb0be8723a8202daf7d08ea0615c908764aace3c25cd2439c7516117.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jIUxp7Kkgeg: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:07:39.480 [error] yt-dlp download error for media item #2498914: "ERROR: [youtube] jIUxp7Kkgeg: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:07:39.480 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":2498914},"id":412602,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1927294,"event":"job:exception","queue_time":196584,"attempt":18,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:07:39.570 [debug] Current batch of media processed. Will check again in 1000ms 07:07:40.571 [debug] Current batch of media processed. Will check again in 1000ms 07:07:41.572 [debug] Current batch of media processed. Will check again in 1000ms 07:07:42.573 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1191, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", "id" => "3PzEmiSDgd0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3PzEmiSDgd0", "playlist_index" => 1, "timestamp" => 1782667801, "title" => "I tried installing Steam OS", "upload_date" => "20260628"} 07:07:42.573 [debug] QUERY OK source="sources" db=0.1ms idle=1632.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:07:42.573 [debug] QUERY OK source="sources" db=0.1ms idle=1632.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:07:42.578 [debug] QUERY OK source="media_items" db=4.5ms idle=1632.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-28 17:30:01Z], 30] 07:07:42.580 [debug] QUERY OK source="media_items" db=1.1ms idle=1028.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "d5f457a5-287b-4fb2-bbfe-3dcd577313a2", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, false, false, 30, [], 98, ~U[2026-06-28 17:30:01Z], ~U[2026-06-29 12:07:42Z], ~U[2026-06-29 12:07:42Z], "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, 30, ~U[2026-06-28 17:30:01Z]] 07:07:42.580 [debug] QUERY OK source="sources" db=0.1ms idle=28.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:07:42.580 [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] 07:07:42.581 [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 [3305566] 07:07:42.581 [debug] Current batch of media processed. Will check again in 1000ms 07:07:43.581 [debug] Current batch of media processed. Will check again in 1000ms 07:07:44.583 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1364, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", "id" => "C7rXBdgObno", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=C7rXBdgObno", "playlist_index" => 2, "timestamp" => 1782581435, "title" => "I'm In Love With KDE Plasma's New Theme", "upload_date" => "20260627"} 07:07:44.583 [debug] QUERY OK source="sources" db=0.2ms idle=642.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:07:44.584 [debug] QUERY OK source="sources" db=0.2ms idle=642.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:07:44.589 [debug] QUERY OK source="media_items" db=4.6ms idle=643.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-27 17:30:35Z], 30] 07:07:44.590 [debug] QUERY OK source="media_items" db=1.0ms idle=648.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "217976ba-ebbd-4a2e-8923-5890ec043af9", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, false, false, 30, [], 98, ~U[2026-06-27 17:30:35Z], ~U[2026-06-29 12:07:44Z], ~U[2026-06-29 12:07:44Z], "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, 30, ~U[2026-06-27 17:30:35Z]] 07:07:44.590 [debug] QUERY OK source="sources" db=0.1ms idle=35.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:07:44.591 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:07:44.591 [debug] QUERY OK source="media_items" db=0.1ms 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 [3297662] 07:07:44.591 [debug] Current batch of media processed. Will check again in 1000ms 07:07:45.592 [debug] Current batch of media processed. Will check again in 1000ms 07:07:46.593 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1187, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", "id" => "iWcFXmnPYoQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "playlist_index" => 3, "timestamp" => 1782322215, "title" => "I was wrong about SteamOS", "upload_date" => "20260624"} 07:07:46.593 [debug] QUERY OK source="sources" db=0.1ms idle=652.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:07:46.593 [debug] QUERY OK source="sources" db=0.1ms idle=652.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:07:46.598 [debug] QUERY OK source="media_items" db=4.7ms idle=653.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-24 17:30:15Z], 30] 07:07:46.600 [debug] QUERY OK source="media_items" db=1.0ms idle=657.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "039584d9-7438-4f51-a88d-d6b6cc464b79", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, false, false, 30, [], 98, ~U[2026-06-24 17:30:15Z], ~U[2026-06-29 12:07:46Z], ~U[2026-06-29 12:07:46Z], "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, 30, ~U[2026-06-24 17:30:15Z]] 07:07:46.600 [debug] QUERY OK source="sources" db=0.1ms idle=42.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:07:46.600 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:07:46.601 [debug] QUERY OK source="media_items" db=0.1ms 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 [3274030] 07:07:46.601 [debug] Current batch of media processed. Will check again in 1000ms 07:07:47.602 [debug] Current batch of media processed. Will check again in 1000ms 07:07:48.604 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1559, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", "id" => "wPXqhfgTV9M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wPXqhfgTV9M", "playlist_index" => 4, "timestamp" => 1782235809, "title" => "Stack Overflow Is Having An Existential Crisis", "upload_date" => "20260623"} 07:07:48.604 [debug] QUERY OK source="sources" db=0.3ms queue=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 (?)) [30] 07:07:48.605 [debug] QUERY OK source="sources" db=0.1ms idle=664.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:07:48.609 [debug] QUERY OK source="media_items" db=4.5ms idle=664.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-23 17:30:09Z], 30] 07:07:48.611 [debug] QUERY OK source="media_items" db=1.0ms idle=669.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "9a8e11f9-d3ad-4cbb-b4c5-682f0969ca67", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, false, false, 30, [], 98, ~U[2026-06-23 17:30:09Z], ~U[2026-06-29 12:07:48Z], ~U[2026-06-29 12:07:48Z], "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, 30, ~U[2026-06-23 17:30:09Z]] 07:07:48.611 [debug] QUERY OK source="sources" db=0.2ms idle=49.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:07:48.612 [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] 07:07:48.612 [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 [3266154] 07:07:48.612 [debug] Current batch of media processed. Will check again in 1000ms 07:07:49.613 [debug] Current batch of media processed. Will check again in 1000ms 07:07:50.615 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1169, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", "id" => "xe75b6OSR90", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xe75b6OSR90", "playlist_index" => 5, "timestamp" => 1782149404, "title" => "X11 Will Completely End Without Your Help", "upload_date" => "20260622"} 07:07:50.616 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=674.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:07:50.616 [debug] QUERY OK source="sources" db=0.1ms idle=675.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:07:50.621 [debug] QUERY OK source="media_items" db=4.5ms idle=675.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-22 17:30:04Z], 30] 07:07:50.624 [debug] QUERY OK source="media_items" db=2.3ms idle=680.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "8fb9d11c-94f1-4a0e-aa4e-34f2678d98f1", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-06-22 17:30:04Z], ~U[2026-06-29 12:07:50Z], ~U[2026-06-29 12:07:50Z], "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, 30, ~U[2026-06-22 17:30:04Z]] 07:07:50.624 [debug] QUERY OK source="sources" db=0.2ms idle=59.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:07:50.624 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:07:50.625 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [3258286] 07:07:50.625 [debug] Current batch of media processed. Will check again in 1000ms 07:07:51.625 [debug] Current batch of media processed. Will check again in 1000ms 07:07:52.627 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1122, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", "id" => "uswAKkgmllA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uswAKkgmllA", "playlist_index" => 6, "timestamp" => 1782063038, "title" => "The Weird World Of Alternate Root DNS", "upload_date" => "20260621"} 07:07:52.627 [debug] QUERY OK source="sources" db=0.2ms idle=686.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:07:52.628 [debug] QUERY OK source="sources" db=0.1ms idle=686.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:07:52.633 [debug] QUERY OK source="media_items" db=4.7ms 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-06-21 17:30:38Z], 30] 07:07:52.635 [debug] QUERY OK source="media_items" db=1.4ms idle=692.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "614d01de-27e5-4d9e-bfaf-17b578d6ba32", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, false, false, 30, [], 98, ~U[2026-06-21 17:30:38Z], ~U[2026-06-29 12:07:52Z], ~U[2026-06-29 12:07:52Z], "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, 30, ~U[2026-06-21 17:30:38Z]] 07:07:52.635 [debug] QUERY OK source="sources" db=0.2ms idle=66.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:07:52.635 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:07:52.636 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [3250444] 07:07:52.636 [debug] Current batch of media processed. Will check again in 1000ms 07:07:52.707 [info] {"source":"oban","duration":8395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:53.637 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1488, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", "id" => "VR20JYYXH6Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VR20JYYXH6Q", "playlist_index" => 7, "timestamp" => 1781976608, "title" => "Stay Safe On The AUR In The Face Of Arch Linux Malware", "upload_date" => "20260620"} 07:07:53.638 [debug] QUERY OK source="sources" db=0.4ms 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] 07:07:53.638 [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" = ?) [30] 07:07:53.643 [debug] QUERY OK source="media_items" db=4.4ms idle=1002.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 17:30:08Z], 30] 07:07:53.644 [debug] QUERY OK source="media_items" db=1.0ms idle=936.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "d6fbfdc0-5686-49a0-9be5-9baf09d47151", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, false, false, 30, [], 98, ~U[2026-06-20 17:30:08Z], ~U[2026-06-29 12:07:53Z], ~U[2026-06-29 12:07:53Z], "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, 30, ~U[2026-06-20 17:30:08Z]] 07:07:53.645 [debug] QUERY OK source="sources" db=0.2ms idle=74.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:07:53.645 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:07:53.646 [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 [3242381] 07:07:53.646 [debug] Current batch of media processed. Will check again in 1000ms 07:07:54.647 [debug] Current batch of media processed. Will check again in 1000ms 07:07:55.648 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1090, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", "id" => "d7MTYqID8VY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d7MTYqID8VY", "playlist_index" => 8, "timestamp" => 1781803802, "title" => "Tridge Responds To The Claimed Rsync AI Caused Regressions", "upload_date" => "20260618"} 07:07:55.648 [debug] QUERY OK source="sources" db=0.1ms idle=707.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:07:55.648 [debug] QUERY OK source="sources" db=0.1ms idle=707.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:07:55.653 [debug] QUERY OK source="media_items" db=4.4ms idle=708.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-18 17:30:02Z], 30] 07:07:55.655 [debug] QUERY OK source="media_items" db=1.3ms idle=712.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "bcf2a53d-3a29-42a0-9a4d-98d9d1a9599d", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, false, false, 30, [], 98, ~U[2026-06-18 17:30:02Z], ~U[2026-06-29 12:07:55Z], ~U[2026-06-29 12:07:55Z], "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, 30, ~U[2026-06-18 17:30:02Z]] 07:07:55.655 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:07:55.656 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 07:07:55.656 [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 [3226631] 07:07:55.656 [debug] Current batch of media processed. Will check again in 1000ms 07:07:56.658 [debug] Current batch of media processed. Will check again in 1000ms 07:07:57.659 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1081, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", "id" => "tgyxIC3J8cs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tgyxIC3J8cs", "playlist_index" => 9, "timestamp" => 1781717431, "title" => "KDE Plasma 6.7 Has Finally Come", "upload_date" => "20260617"} 07:07:57.660 [debug] QUERY OK source="sources" db=0.2ms idle=718.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:07:57.660 [debug] QUERY OK source="sources" db=0.1ms idle=719.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:07:57.665 [debug] QUERY OK source="media_items" db=4.5ms idle=719.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-17 17:30:31Z], 30] 07:07:57.666 [debug] QUERY OK source="media_items" db=1.0ms idle=724.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "5f6a23e1-e527-4915-9a2f-f9e4bdd2db1c", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, false, false, 30, [], 98, ~U[2026-06-17 17:30:31Z], ~U[2026-06-29 12:07:57Z], ~U[2026-06-29 12:07:57Z], "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, 30, ~U[2026-06-17 17:30:31Z]] 07:07:57.666 [debug] QUERY OK source="sources" db=0.1ms idle=89.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:07:57.667 [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] 07:07:57.667 [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 [3218823] 07:07:57.667 [debug] Current batch of media processed. Will check again in 1000ms 07:07:58.668 [debug] Current batch of media processed. Will check again in 1000ms 07:07:59.669 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1130, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", "id" => "VeudOzqpHHs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VeudOzqpHHs", "playlist_index" => 10, "timestamp" => 1781631008, "title" => "The AUR Malware Attack Never Stopped", "upload_date" => "20260616"} 07:07:59.670 [debug] QUERY OK source="sources" db=0.3ms idle=728.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 07:07:59.670 [debug] QUERY OK source="sources" db=0.1ms idle=729.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:07:59.675 [debug] QUERY OK source="media_items" db=4.6ms idle=730.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-16 17:30:08Z], 30] 07:07:59.677 [debug] QUERY OK source="media_items" db=1.3ms idle=734.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "a995787e-cfdb-46bf-9b93-618b25078df5", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, false, false, 30, [], 98, ~U[2026-06-16 17:30:08Z], ~U[2026-06-29 12:07:59Z], ~U[2026-06-29 12:07:59Z], "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, 30, ~U[2026-06-16 17:30:08Z]] 07:07:59.677 [debug] QUERY OK source="sources" db=0.1ms idle=96.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:07:59.678 [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] 07:07:59.678 [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 [3210881] 07:07:59.678 [debug] Current batch of media processed. Will check again in 1000ms 07:08:00.032 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:08:00.679 [debug] Current batch of media processed. Will check again in 1000ms 07:08:01.680 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1198, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", "id" => "dFnZyoLXVa4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dFnZyoLXVa4", "playlist_index" => 11, "timestamp" => 1781544603, "title" => "Ladybird Browser Stops Accepting Public Pull Requests", "upload_date" => "20260615"} 07:08:01.681 [debug] QUERY OK source="sources" db=0.1ms idle=1098.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:08:01.681 [debug] QUERY OK source="sources" db=0.1ms idle=740.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:08:01.686 [debug] QUERY OK source="media_items" db=4.5ms idle=740.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-15 17:30:03Z], 30] 07:08:01.687 [debug] QUERY OK source="media_items" db=1.1ms idle=745.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "bf8b45aa-eb2e-497c-a805-7b7486dca36f", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, false, false, 30, [], 98, ~U[2026-06-15 17:30:03Z], ~U[2026-06-29 12:08:01Z], ~U[2026-06-29 12:08:01Z], "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, 30, ~U[2026-06-15 17:30:03Z]] 07:08:01.688 [debug] QUERY OK source="sources" db=0.1ms idle=103.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:08:01.688 [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] 07:08:01.688 [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 [3202877] 07:08:01.688 [debug] Current batch of media processed. Will check again in 1000ms 07:08:02.690 [debug] Current batch of media processed. Will check again in 1000ms 07:08:03.691 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 3383, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", "id" => "BBwZs0lxeNk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BBwZs0lxeNk", "playlist_index" => 12, "timestamp" => 1781458202, "title" => "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "upload_date" => "20260614"} 07:08:03.691 [debug] QUERY OK source="sources" db=0.1ms idle=750.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:08:03.692 [debug] QUERY OK source="sources" db=0.2ms idle=750.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:08:03.696 [debug] QUERY OK source="media_items" db=4.5ms idle=751.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 17:30:02Z], 30] 07:08:03.698 [debug] QUERY OK source="media_items" db=1.0ms idle=755.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "191e9bf1-c516-4d83-ad4d-eb49e361c8e6", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, false, false, 30, [], 98, ~U[2026-06-14 17:30:02Z], ~U[2026-06-29 12:08:03Z], ~U[2026-06-29 12:08:03Z], "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, 30, ~U[2026-06-14 17:30:02Z]] 07:08:03.698 [debug] QUERY OK source="sources" db=0.1ms idle=110.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:08:03.698 [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] 07:08:03.699 [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 [3195147] 07:08:03.699 [debug] Current batch of media processed. Will check again in 1000ms 07:08:04.700 [debug] Current batch of media processed. Will check again in 1000ms 07:08:05.701 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1205, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", "id" => "gXQLC3Sontc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gXQLC3Sontc", "playlist_index" => 13, "timestamp" => 1781371817, "title" => "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "upload_date" => "20260613"} 07:08:05.701 [debug] QUERY OK source="sources" db=0.2ms idle=760.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:08:05.702 [debug] QUERY OK source="sources" db=0.1ms idle=760.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:08:05.706 [debug] QUERY OK source="media_items" db=4.5ms idle=761.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-13 17:30:17Z], 30] 07:08:05.708 [debug] QUERY OK source="media_items" db=1.3ms idle=765.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "cd4bd100-f204-4f7e-a3f0-3724141674b0", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, false, false, 30, [], 98, ~U[2026-06-13 17:30:17Z], ~U[2026-06-29 12:08:05Z], ~U[2026-06-29 12:08:05Z], "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, 30, ~U[2026-06-13 17:30:17Z]] 07:08:05.709 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [30] 07:08:05.709 [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] 07:08:05.709 [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 [3187102] 07:08:05.709 [debug] Current batch of media processed. Will check again in 1000ms 07:08:06.710 [debug] Current batch of media processed. Will check again in 1000ms 07:08:07.711 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1221, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", "id" => "WoxR7fGl4CI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WoxR7fGl4CI", "playlist_index" => 14, "timestamp" => 1781285431, "title" => "Massive AUR Malware Attack: DO NOT UPDATE", "upload_date" => "20260612"} 07:08:07.711 [debug] QUERY OK source="sources" db=0.2ms idle=769.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:08:07.712 [debug] QUERY OK source="sources" db=0.1ms idle=770.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:08:07.716 [debug] QUERY OK source="media_items" db=4.5ms idle=770.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-12 17:30:31Z], 30] 07:08:07.718 [debug] QUERY OK source="media_items" db=1.3ms idle=775.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "239a43ba-b9a3-4d00-abfb-b95f52aca34a", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, false, false, 30, [], 98, ~U[2026-06-12 17:30:31Z], ~U[2026-06-29 12:08:07Z], ~U[2026-06-29 12:08:07Z], "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, 30, ~U[2026-06-12 17:30:31Z]] 07:08:07.719 [debug] QUERY OK source="sources" db=0.1ms idle=124.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:08:07.719 [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] 07:08:07.719 [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 [3179203] 07:08:07.719 [debug] Current batch of media processed. Will check again in 1000ms 07:08:08.721 [debug] Current batch of media processed. Will check again in 1000ms 07:08:09.722 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 827, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", "id" => "_Axl-_DG5eo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_Axl-_DG5eo", "playlist_index" => 15, "timestamp" => 1781199024, "title" => "Brave Origin Charges You For A Problem Brave Created", "upload_date" => "20260611"} 07:08:09.722 [debug] QUERY OK source="sources" db=0.2ms idle=781.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:08:09.723 [debug] QUERY OK source="sources" db=0.1ms idle=781.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:08:09.727 [debug] QUERY OK source="media_items" db=4.7ms idle=782.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-11 17:30:24Z], 30] 07:08:09.744 [debug] QUERY OK source="media_items" db=16.2ms idle=787.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "91c0468b-ed1b-4fd1-a58f-7dafef9d9e46", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, false, false, 30, [], 98, ~U[2026-06-11 17:30:24Z], ~U[2026-06-29 12:08:09Z], ~U[2026-06-29 12:08:09Z], "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, 30, ~U[2026-06-11 17:30:24Z]] 07:08:09.745 [debug] QUERY OK source="sources" db=0.2ms idle=146.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:08:09.745 [debug] QUERY OK source="media_profiles" db=0.1ms idle=22.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] 07:08:09.745 [debug] QUERY OK source="media_items" db=0.2ms idle=22.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 [3171302] 07:08:09.745 [debug] Current batch of media processed. Will check again in 1000ms 07:08:10.747 [debug] Current batch of media processed. Will check again in 1000ms 07:08:11.748 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1017, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", "id" => "nwHjVOcUMaw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nwHjVOcUMaw", "playlist_index" => 16, "timestamp" => 1781112612, "title" => "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "upload_date" => "20260610"} 07:08:11.748 [debug] QUERY OK source="sources" db=0.2ms idle=807.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:08:11.749 [debug] QUERY OK source="sources" db=0.0ms idle=807.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:08:11.753 [debug] QUERY OK source="media_items" db=4.5ms idle=808.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-10 17:30:12Z], 30] 07:08:11.759 [debug] QUERY OK source="media_items" db=5.3ms idle=813.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "7145b82e-c67b-4069-b35e-12eaa1939053", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, false, false, 30, [], 98, ~U[2026-06-10 17:30:12Z], ~U[2026-06-29 12:08:11Z], ~U[2026-06-29 12:08:11Z], "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, 30, ~U[2026-06-10 17:30:12Z]] 07:08:11.760 [debug] QUERY OK source="sources" db=0.2ms idle=158.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:08:11.760 [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] 07:08:11.760 [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 [3163522] 07:08:11.760 [debug] Current batch of media processed. Will check again in 1000ms 07:08:12.762 [debug] Current batch of media processed. Will check again in 1000ms 07:08:13.763 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1331, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", "id" => "36pHSM0mzXE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=36pHSM0mzXE", "playlist_index" => 17, "timestamp" => 1781030838, "title" => "GNOME Board Bans Sonny Piers, He Reveals Everything", "upload_date" => "20260609"} 07:08:13.763 [debug] QUERY OK source="sources" db=0.1ms idle=822.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:08:13.763 [debug] QUERY OK source="sources" db=0.1ms idle=822.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:08:13.768 [debug] QUERY OK source="media_items" db=4.6ms idle=822.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 18:47:18Z], 30] 07:08:13.770 [debug] QUERY OK source="media_items" db=1.1ms idle=827.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "00299176-da1a-49bb-b9e0-5fab6ea374cc", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, false, false, 30, [], 98, ~U[2026-06-09 18:47:18Z], ~U[2026-06-29 12:08:13Z], ~U[2026-06-29 12:08:13Z], "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, 30, ~U[2026-06-09 18:47:18Z]] 07:08:13.770 [debug] QUERY OK source="sources" db=0.1ms idle=165.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:08:13.770 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:08:13.771 [debug] QUERY OK source="media_items" db=0.1ms 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 [3156119] 07:08:13.771 [debug] Current batch of media processed. Will check again in 1000ms 07:08:14.772 [debug] Current batch of media processed. Will check again in 1000ms 07:08:15.773 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1305, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", "id" => "mawalnYGQkA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mawalnYGQkA", "playlist_index" => 18, "timestamp" => 1780939824, "title" => "Nobody Understands LTS Linux Distros", "upload_date" => "20260608"} 07:08:15.773 [debug] QUERY OK source="sources" db=0.2ms idle=832.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:08:15.773 [debug] QUERY OK source="sources" db=0.1ms idle=832.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:08:15.778 [debug] QUERY OK source="media_items" db=4.6ms idle=832.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-08 17:30:24Z], 30] 07:08:15.780 [debug] QUERY OK source="media_items" db=1.0ms idle=837.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "9832e24e-bbaa-438e-9098-0dd76c81966e", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, false, false, 30, [], 98, ~U[2026-06-08 17:30:24Z], ~U[2026-06-29 12:08:15Z], ~U[2026-06-29 12:08:15Z], "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, 30, ~U[2026-06-08 17:30:24Z]] 07:08:15.780 [debug] QUERY OK source="sources" db=0.1ms idle=172.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:08:15.780 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:08:15.781 [debug] QUERY OK source="media_items" db=0.1ms 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 [3147694] 07:08:15.781 [debug] Current batch of media processed. Will check again in 1000ms 07:08:16.782 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1223, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", "id" => "oV1ug0u8vas", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oV1ug0u8vas", "playlist_index" => 19, "timestamp" => 1780853402, "title" => "Even More Dumb Software Licenses", "upload_date" => "20260607"} 07:08:16.782 [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 (?)) [30] 07:08:16.782 [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" = ?) [30] 07:08:16.788 [debug] QUERY OK source="media_items" db=4.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-07 17:30:02Z], 30] 07:08:16.790 [debug] QUERY OK source="media_items" db=1.3ms idle=1007.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "c8a0e067-4ab0-4ba7-84d0-c3bfe75f4105", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, false, false, 30, [], 98, ~U[2026-06-07 17:30:02Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, 30, ~U[2026-06-07 17:30:02Z]] 07:08:16.790 [debug] QUERY OK source="sources" db=0.1ms idle=180.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:08:16.790 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:08:16.790 [debug] QUERY OK source="media_items" db=0.1ms 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 [3140012] 07:08:16.791 [debug] Current batch of media processed. Will check again in 1000ms 07:08:16.860 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCld68syR8Wi-GY_n4CaoJGA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/4f/67/4f673248c828ef47238116ff4d1757ef0b7da47fa0f8dc94d9bf68e94b907402.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/49/fa/49fa4135b227b41b7911714cd702eb092a9e372349aa7455e76939e561cb8c19.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 07:08:16.861 [debug] Gracefully stopping file follower 07:08:16.862 [debug] QUERY OK source="sources" db=0.8ms idle=73.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 07:08:16.862 [debug] QUERY OK source="sources" db=0.2ms idle=72.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:08:16.867 [debug] QUERY OK source="media_items" db=4.4ms idle=72.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-28 17:30:01Z], 30] 07:08:16.868 [debug] QUERY OK source="media_items" db=1.0ms idle=77.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "646b4f0c-340b-4cbb-afd8-0a2e76c433c4", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, false, false, 30, [], 98, ~U[2026-06-28 17:30:01Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, 30, ~U[2026-06-28 17:30:01Z]] 07:08:16.869 [debug] QUERY OK source="sources" db=0.1ms idle=78.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:08:16.873 [debug] QUERY OK source="media_items" db=4.3ms idle=6.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-27 17:30:35Z], 30] 07:08:16.877 [debug] QUERY OK source="media_items" db=3.6ms idle=11.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "8f437dd7-6579-4b20-94f8-91a6df764c9d", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, false, false, 30, [], 98, ~U[2026-06-27 17:30:35Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, 30, ~U[2026-06-27 17:30:35Z]] 07:08:16.878 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [30] 07:08:16.883 [debug] QUERY OK source="media_items" db=4.2ms idle=10.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-24 17:30:15Z], 30] 07:08:16.884 [debug] QUERY OK source="media_items" db=1.1ms idle=14.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "6e039e89-1405-4066-b694-a5c8a30236fb", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, false, false, 30, [], 98, ~U[2026-06-24 17:30:15Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, 30, ~U[2026-06-24 17:30:15Z]] 07:08:16.885 [debug] QUERY OK source="sources" db=0.5ms idle=11.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.889 [debug] QUERY OK source="media_items" db=4.2ms idle=7.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 17:30:09Z], 30] 07:08:16.891 [debug] QUERY OK source="media_items" db=1.0ms idle=11.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "bdf42df5-6fd2-40c7-8971-1f7dff439049", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, false, false, 30, [], 98, ~U[2026-06-23 17:30:09Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, 30, ~U[2026-06-23 17:30:09Z]] 07:08:16.891 [debug] QUERY OK source="sources" db=0.6ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.896 [debug] QUERY OK source="media_items" db=4.1ms idle=7.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-22 17:30:04Z], 30] 07:08:16.897 [debug] QUERY OK source="media_items" db=0.9ms idle=11.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "040c97d3-5705-41de-8f6b-8e249fa92e9d", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-06-22 17:30:04Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, 30, ~U[2026-06-22 17:30:04Z]] 07:08:16.898 [debug] QUERY OK source="sources" db=0.5ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.902 [debug] QUERY OK source="media_items" db=4.0ms idle=7.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-21 17:30:38Z], 30] 07:08:16.903 [debug] QUERY OK source="media_items" db=1.0ms idle=10.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "1270c0d0-eb5b-428e-8cc7-b2c5d973309d", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, false, false, 30, [], 98, ~U[2026-06-21 17:30:38Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, 30, ~U[2026-06-21 17:30:38Z]] 07:08:16.904 [debug] QUERY OK source="sources" db=0.5ms idle=7.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.908 [debug] QUERY OK source="media_items" db=4.0ms idle=7.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-20 17:30:08Z], 30] 07:08:16.909 [debug] QUERY OK source="media_items" db=0.9ms idle=10.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "0752abf7-4a43-4565-a18a-851165d95b1f", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, false, false, 30, [], 98, ~U[2026-06-20 17:30:08Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, 30, ~U[2026-06-20 17:30:08Z]] 07:08:16.910 [debug] QUERY OK source="sources" db=0.4ms idle=7.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.914 [debug] QUERY OK source="media_items" db=4.1ms idle=6.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-18 17:30:02Z], 30] 07:08:16.916 [debug] QUERY OK source="media_items" db=0.9ms idle=10.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "f7086482-fc20-4bf1-9d19-646007557163", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, false, false, 30, [], 98, ~U[2026-06-18 17:30:02Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, 30, ~U[2026-06-18 17:30:02Z]] 07:08:16.916 [debug] QUERY OK source="sources" db=0.5ms idle=7.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.920 [debug] QUERY OK source="media_items" db=4.0ms idle=7.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-17 17:30:31Z], 30] 07:08:16.922 [debug] QUERY OK source="media_items" db=1.0ms idle=10.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "038b1c35-9e71-46d8-afea-02bed13d0505", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, false, false, 30, [], 98, ~U[2026-06-17 17:30:31Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, 30, ~U[2026-06-17 17:30:31Z]] 07:08:16.923 [debug] QUERY OK source="sources" db=0.6ms idle=7.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.927 [debug] QUERY OK source="media_items" db=4.3ms idle=7.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 17:30:08Z], 30] 07:08:16.929 [debug] QUERY OK source="media_items" db=1.2ms idle=11.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "d1e6098a-1b66-4e7c-9d7d-0bdc0203f391", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, false, false, 30, [], 98, ~U[2026-06-16 17:30:08Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, 30, ~U[2026-06-16 17:30:08Z]] 07:08:16.930 [debug] QUERY OK source="sources" db=0.6ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.934 [debug] QUERY OK source="media_items" db=4.1ms idle=8.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-15 17:30:03Z], 30] 07:08:16.935 [debug] QUERY OK source="media_items" db=1.0ms idle=11.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "b5bfdc62-6e21-48d5-bb93-c98d9ba5fda8", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, false, false, 30, [], 98, ~U[2026-06-15 17:30:03Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, 30, ~U[2026-06-15 17:30:03Z]] 07:08:16.936 [debug] QUERY OK source="sources" db=0.5ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.940 [debug] QUERY OK source="media_items" db=4.0ms idle=7.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-14 17:30:02Z], 30] 07:08:16.942 [debug] QUERY OK source="media_items" db=1.0ms idle=10.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "50c3d9df-a7b8-44dd-91ce-771088cdce07", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, false, false, 30, [], 98, ~U[2026-06-14 17:30:02Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, 30, ~U[2026-06-14 17:30:02Z]] 07:08:16.942 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [30] 07:08:16.947 [debug] QUERY OK source="media_items" db=4.0ms idle=7.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 17:30:17Z], 30] 07:08:16.948 [debug] QUERY OK source="media_items" db=1.0ms idle=10.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "b3f6c172-64e2-4bfc-99f8-9f3e30705b41", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, false, false, 30, [], 98, ~U[2026-06-13 17:30:17Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, 30, ~U[2026-06-13 17:30:17Z]] 07:08:16.949 [debug] QUERY OK source="sources" db=0.5ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.953 [debug] QUERY OK source="media_items" db=4.0ms idle=7.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-12 17:30:31Z], 30] 07:08:16.955 [debug] QUERY OK source="media_items" db=1.2ms idle=10.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "4b027abf-b8d3-420b-9351-42fa34d607d5", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, false, false, 30, [], 98, ~U[2026-06-12 17:30:31Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, 30, ~U[2026-06-12 17:30:31Z]] 07:08:16.955 [debug] QUERY OK source="sources" db=0.5ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.960 [debug] QUERY OK source="media_items" db=4.1ms idle=7.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-11 17:30:24Z], 30] 07:08:16.961 [debug] QUERY OK source="media_items" db=1.0ms idle=10.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "0a4fc522-3d59-4859-8cd2-bdcb9994fe95", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, false, false, 30, [], 98, ~U[2026-06-11 17:30:24Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, 30, ~U[2026-06-11 17:30:24Z]] 07:08:16.962 [debug] QUERY OK source="sources" db=0.6ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.966 [debug] QUERY OK source="media_items" db=4.1ms idle=7.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-10 17:30:12Z], 30] 07:08:16.967 [debug] QUERY OK source="media_items" db=1.1ms idle=10.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "705fefee-2ab5-4a0d-8446-87e0ffb55461", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, false, false, 30, [], 98, ~U[2026-06-10 17:30:12Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, 30, ~U[2026-06-10 17:30:12Z]] 07:08:16.968 [debug] QUERY OK source="sources" db=0.5ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.973 [debug] QUERY OK source="media_items" db=4.2ms 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-09 18:47:18Z], 30] 07:08:16.974 [debug] QUERY OK source="media_items" db=1.2ms idle=11.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "d4505fe8-f4ea-4ec4-a1f5-c194655e574b", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, false, false, 30, [], 98, ~U[2026-06-09 18:47:18Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, 30, ~U[2026-06-09 18:47:18Z]] 07:08:16.975 [debug] QUERY OK source="sources" db=0.6ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:08:16.979 [debug] QUERY OK source="media_items" db=4.2ms idle=7.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-08 17:30:24Z], 30] 07:08:16.983 [debug] QUERY OK source="media_items" db=3.3ms idle=11.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "057acb65-e84d-4c41-aca8-4f47b9065aec", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, false, false, 30, [], 98, ~U[2026-06-08 17:30:24Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, 30, ~U[2026-06-08 17:30:24Z]] 07:08:16.984 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [30] 07:08:16.988 [debug] QUERY OK source="media_items" db=4.2ms idle=10.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-07 17:30:02Z], 30] 07:08:16.993 [debug] QUERY OK source="media_items" db=4.6ms idle=13.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "a5b20998-31ce-4622-9c5f-2a1ef5addc80", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, false, false, 30, [], 98, ~U[2026-06-07 17:30:02Z], ~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], "A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, 30, ~U[2026-06-07 17:30:02Z]] 07:08:16.994 [debug] QUERY OK source="sources" db=0.6ms idle=14.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 12:08:16Z], ~U[2026-06-29 12:08:16Z], 30] 07:08:16.999 [debug] QUERY OK source="media_items" db=4.3ms idle=11.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] 07:08:17.003 [debug] QUERY OK source="media_items" db=4.5ms idle=14.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")))) [30] 07:08:17.004 [debug] QUERY OK source="media_items" db=0.7ms idle=15.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 07:08:17.006 [debug] QUERY OK source="tasks" db=0.5ms idle=6.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419810, 30, ~U[2026-06-29 12:08:17Z], ~U[2026-06-29 12:08:17Z]] 07:08:17.007 [info] {"args":{"id":30},"id":419760,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":39455137,"event":"job:stop","queue_time":940399,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 07:08:22.715 [info] {"source":"oban","duration":7347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:52.723 [info] {"source":"oban","duration":7662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.033 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:09:22.732 [info] {"source":"oban","duration":7714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:52.738 [info] {"source":"oban","duration":5214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.034 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:10:22.744 [info] {"source":"oban","duration":5646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:52.750 [info] {"source":"oban","duration":5303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:55.051 [info] GET /sources/55/media/2962708/force_download 07:10:55.052 [debug] QUERY OK source="settings" db=0.1ms idle=1110.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:10:55.052 [debug] QUERY OK source="settings" db=0.0ms idle=1111.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:10:55.052 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:10:55.052 [error] #PID<0.1178615.0> running PinchflatWeb.Endpoint (connection #PID<0.1178614.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/55/media/2962708/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/55/media/2962708/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178614.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/2962708/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58386}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178615.0>, params: %{}, path_info: ["sources", "55", "media", "2962708", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/55/media/2962708/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MFlUAaiutGcwBdIpC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178614.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/2962708/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58386}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/55/media/2962708/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178614.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/2962708/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58386}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178615.0>, params: %{}, path_info: ["sources", "55", "media", "2962708", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:10:55.552 [info] GET /sources/55/media/2909119/force_download 07:10:55.553 [debug] QUERY OK source="settings" db=0.2ms idle=1611.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:10:55.553 [debug] QUERY OK source="settings" db=0.0ms idle=1612.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:10:55.553 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:10:55.553 [error] #PID<0.1178607.0> running PinchflatWeb.Endpoint (connection #PID<0.1178614.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/55/media/2909119/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/55/media/2909119/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178614.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/2909119/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58386}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178607.0>, params: %{}, path_info: ["sources", "55", "media", "2909119", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/55/media/2909119/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MFnLbgoBXo6IBdIqC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178614.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/2909119/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58386}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/media/2909119/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178614.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/2909119/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58386}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178607.0>, params: %{}, path_info: ["sources", "55", "media", "2909119", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:10:56.054 [info] GET /media/ad01b541-44ad-43cd-bd20-e3df381f71b5/stream 07:10:56.054 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "ad01b541-44ad-43cd-bd20-e3df381f71b5"} Pipelines: [:maybe_basic_auth] 07:10:56.055 [debug] QUERY OK source="media_items" db=1.2ms idle=1002.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["ad01b541-44ad-43cd-bd20-e3df381f71b5"] 07:10:56.055 [debug] Invalid range request for media item: ad01b541-44ad-43cd-bd20-e3df381f71b5 - serving full file 07:10:56.055 [info] Sent 200 in 1ms 07:10:56.563 [info] GET /media/30844739-b85e-405e-96a4-e8ed4fb8ad9a/stream 07:10:56.563 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "30844739-b85e-405e-96a4-e8ed4fb8ad9a"} Pipelines: [:maybe_basic_auth] 07:10:56.563 [debug] QUERY OK source="media_items" db=0.2ms idle=1511.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["30844739-b85e-405e-96a4-e8ed4fb8ad9a"] 07:10:56.563 [debug] Invalid range request for media item: 30844739-b85e-405e-96a4-e8ed4fb8ad9a - serving full file 07:10:56.564 [info] Sent 200 in 733µs 07:11:00.035 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:11:13.365 [info] GET /sources/57/media/2902029/force_download 07:11:13.365 [debug] QUERY OK source="settings" db=0.2ms idle=1424.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:13.365 [debug] QUERY OK source="settings" db=0.1ms idle=1424.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:13.365 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:13.366 [error] #PID<0.1178621.0> running PinchflatWeb.Endpoint (connection #PID<0.1178618.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/2902029/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/2902029/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178618.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2902029/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58402}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178621.0>, params: %{}, path_info: ["sources", "57", "media", "2902029", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/2902029/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MGpiOkE2OUqUCQekB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178618.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2902029/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58402}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/57/media/2902029/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178618.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2902029/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58402}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178621.0>, params: %{}, path_info: ["sources", "57", "media", "2902029", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:13.531 [info] GET /sources/57/media/2499770/force_download 07:11:13.532 [debug] QUERY OK source="settings" db=0.1ms idle=1591.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:13.532 [debug] QUERY OK source="settings" db=0.1ms idle=641.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:13.532 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:13.532 [error] #PID<0.1178616.0> running PinchflatWeb.Endpoint (connection #PID<0.1178618.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/2499770/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/2499770/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178618.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2499770/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58402}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178616.0>, params: %{}, path_info: ["sources", "57", "media", "2499770", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/2499770/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MGqJ_RW-r-DACQelB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178618.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2499770/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58402}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/57/media/2499770/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178618.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2499770/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58402}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178616.0>, params: %{}, path_info: ["sources", "57", "media", "2499770", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:14.041 [info] GET /sources/30/media/3022986/force_download 07:11:14.042 [debug] QUERY OK source="settings" db=0.1ms idle=676.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:14.042 [debug] QUERY OK source="settings" db=0.1ms idle=676.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:14.042 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:14.042 [error] #PID<0.1178619.0> running PinchflatWeb.Endpoint (connection #PID<0.1178618.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3022986/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3022986/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178618.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3022986/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58402}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178619.0>, params: %{}, path_info: ["sources", "30", "media", "3022986", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3022986/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MGsDheR9mQP0CQemB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178618.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3022986/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58402}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/30/media/3022986/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178618.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3022986/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58402}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178619.0>, params: %{}, path_info: ["sources", "30", "media", "3022986", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:14.554 [info] GET /media/09c10ded-5f38-49c8-adc3-5de7e635c1e6/stream 07:11:14.554 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "09c10ded-5f38-49c8-adc3-5de7e635c1e6"} Pipelines: [:maybe_basic_auth] 07:11:14.555 [debug] QUERY OK source="media_items" db=0.4ms idle=1022.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["09c10ded-5f38-49c8-adc3-5de7e635c1e6"] 07:11:14.555 [debug] Invalid range request for media item: 09c10ded-5f38-49c8-adc3-5de7e635c1e6 - serving full file 07:11:14.555 [info] Sent 200 in 1ms 07:11:15.033 [info] GET /sources/43/media/3129532/force_download 07:11:15.033 [debug] QUERY OK source="settings" db=0.1ms idle=991.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:15.033 [debug] QUERY OK source="settings" db=0.1ms idle=991.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:15.033 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:15.034 [error] #PID<0.1178622.0> running PinchflatWeb.Endpoint (connection #PID<0.1178627.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3129532/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3129532/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3129532/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178622.0>, params: %{}, path_info: ["sources", "43", "media", "3129532", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3129532/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MGvv7uhkj76EBdIuC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3129532/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/43/media/3129532/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3129532/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178622.0>, params: %{}, path_info: ["sources", "43", "media", "3129532", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:15.526 [info] GET /sources/30/media/3281971/force_download 07:11:15.527 [debug] QUERY OK source="settings" db=0.1ms idle=971.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:15.527 [debug] QUERY OK source="settings" db=0.0ms idle=633.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:15.527 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:15.527 [error] #PID<0.1178629.0> running PinchflatWeb.Endpoint (connection #PID<0.1178627.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3281971/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3281971/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3281971/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178629.0>, params: %{}, path_info: ["sources", "30", "media", "3281971", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3281971/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MGxlkyQVdxuUBdIvC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3281971/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/30/media/3281971/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3281971/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178629.0>, params: %{}, path_info: ["sources", "30", "media", "3281971", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:16.518 [info] GET /sources/32/media/3032712/force_download 07:11:16.518 [debug] QUERY OK source="settings" db=0.1ms idle=1485.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:16.519 [debug] QUERY OK source="settings" db=0.1ms idle=1485.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:16.519 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:16.519 [error] #PID<0.1178628.0> running PinchflatWeb.Endpoint (connection #PID<0.1178627.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/3032712/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/32/media/3032712/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3032712/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178628.0>, params: %{}, path_info: ["sources", "32", "media", "3032712", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/3032712/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MG1SB9n07VaIBdIwC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3032712/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/32/media/3032712/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3032712/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178628.0>, params: %{}, path_info: ["sources", "32", "media", "3032712", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:17.589 [info] GET /sources/30/media/3030759/force_download 07:11:17.589 [debug] QUERY OK source="settings" db=0.1ms idle=1070.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:17.589 [debug] QUERY OK source="settings" db=0.1ms idle=1070.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:17.589 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:17.590 [error] #PID<0.1178632.0> running PinchflatWeb.Endpoint (connection #PID<0.1178627.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3030759/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3030759/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3030759/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178632.0>, params: %{}, path_info: ["sources", "30", "media", "3030759", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3030759/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MG5RSoZ8Bc04BdIxC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3030759/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/30/media/3030759/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3030759/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178632.0>, params: %{}, path_info: ["sources", "30", "media", "3030759", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:18.546 [info] GET /sources/52/media/3284990/force_download 07:11:18.547 [debug] QUERY OK source="settings" db=0.1ms idle=1531.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:18.547 [debug] QUERY OK source="settings" db=0.0ms idle=1532.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:18.547 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:18.547 [error] #PID<0.1178633.0> running PinchflatWeb.Endpoint (connection #PID<0.1178627.0>, stream id 5) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/3284990/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/3284990/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3284990/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178633.0>, params: %{}, path_info: ["sources", "52", "media", "3284990", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/3284990/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MG81n9UKmFOABdIyC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3284990/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/3284990/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3284990/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178633.0>, params: %{}, path_info: ["sources", "52", "media", "3284990", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:19.615 [info] GET /sources/55/media/3236796/force_download 07:11:19.615 [debug] QUERY OK source="settings" db=0.2ms idle=1068.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:19.615 [debug] QUERY OK source="settings" db=0.1ms idle=1068.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:19.616 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:19.616 [error] #PID<0.1178625.0> running PinchflatWeb.Endpoint (connection #PID<0.1178627.0>, stream id 6) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/55/media/3236796/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/55/media/3236796/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/3236796/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178625.0>, params: %{}, path_info: ["sources", "55", "media", "3236796", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/55/media/3236796/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MHA0Vt1nuDZ0BdIzC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/3236796/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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 /sources/55/media/3236796/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/3236796/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49326}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178625.0>, params: %{}, path_info: ["sources", "55", "media", "3236796", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:22.755 [info] {"source":"oban","duration":4922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:36.855 [info] GET /sources/43/media/3239878/force_download 07:11:36.856 [debug] QUERY OK source="settings" db=0.1ms idle=1840.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:36.856 [debug] QUERY OK source="settings" db=0.0ms idle=1841.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:36.856 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:36.856 [error] #PID<0.1178636.0> running PinchflatWeb.Endpoint (connection #PID<0.1178635.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3239878/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3239878/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3239878/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178636.0>, params: %{}, path_info: ["sources", "43", "media", "3239878", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3239878/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MIBC1WAzk-KkBdI0C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3239878/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/43/media/3239878/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3239878/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178636.0>, params: %{}, path_info: ["sources", "43", "media", "3239878", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:39.992 [info] GET /sources/32/media/3197184/force_download 07:11:39.992 [debug] QUERY OK source="settings" db=0.1ms idle=1977.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:39.992 [debug] QUERY OK source="settings" db=0.0ms idle=1977.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:39.993 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:39.993 [error] #PID<0.1178637.0> running PinchflatWeb.Endpoint (connection #PID<0.1178635.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/3197184/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/32/media/3197184/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3197184/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178637.0>, params: %{}, path_info: ["sources", "32", "media", "3197184", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/3197184/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MIMuplqhtWdgBdI1C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3197184/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/32/media/3197184/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3197184/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178637.0>, params: %{}, path_info: ["sources", "32", "media", "3197184", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:42.232 [info] GET /sources/30/media/3242381/force_download 07:11:42.232 [debug] QUERY OK source="settings" db=0.2ms idle=1217.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:42.232 [debug] QUERY OK source="settings" db=0.0ms idle=1217.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:42.233 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:42.233 [error] #PID<0.1178631.0> running PinchflatWeb.Endpoint (connection #PID<0.1178635.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3242381/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3242381/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3242381/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178631.0>, params: %{}, path_info: ["sources", "30", "media", "3242381", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3242381/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MIVEr2j0CNLMBdI2C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3242381/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/30/media/3242381/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3242381/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178631.0>, params: %{}, path_info: ["sources", "30", "media", "3242381", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:47.225 [info] GET /sources/57/media/2986477/force_download 07:11:47.225 [debug] QUERY OK source="settings" db=0.1ms idle=1210.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:47.226 [debug] QUERY OK source="settings" db=0.0ms idle=1210.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:47.226 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:47.226 [error] #PID<0.1178634.0> running PinchflatWeb.Endpoint (connection #PID<0.1178635.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/2986477/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/2986477/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2986477/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178634.0>, params: %{}, path_info: ["sources", "57", "media", "2986477", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/2986477/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MInrIsrFithQBdI4C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2986477/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/57/media/2986477/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2986477/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178634.0>, params: %{}, path_info: ["sources", "57", "media", "2986477", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:48.596 [info] GET /sources/30/media/3046356/force_download 07:11:48.596 [debug] QUERY OK source="settings" db=0.1ms idle=1581.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:48.596 [debug] QUERY OK source="settings" db=0.0ms idle=1370.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:11:48.596 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:11:48.597 [error] #PID<0.1178642.0> running PinchflatWeb.Endpoint (connection #PID<0.1178635.0>, stream id 5) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3046356/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3046356/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3046356/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178642.0>, params: %{}, path_info: ["sources", "30", "media", "3046356", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3046356/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MIsx93yJXhQ4BdI5C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3046356/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3046356/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178635.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3046356/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49992}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178642.0>, params: %{}, path_info: ["sources", "30", "media", "3046356", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:11:52.762 [info] {"source":"oban","duration":5294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:56.361 [info] GET /media/adce3ab9-016b-4237-8a86-8a897a95989e/stream 07:11:56.361 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "adce3ab9-016b-4237-8a86-8a897a95989e"} Pipelines: [:maybe_basic_auth] 07:11:56.362 [debug] QUERY OK source="media_items" db=0.4ms idle=356.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["adce3ab9-016b-4237-8a86-8a897a95989e"] 07:11:56.362 [debug] Invalid range request for media item: adce3ab9-016b-4237-8a86-8a897a95989e - serving full file 07:11:56.362 [info] Sent 200 in 939µs 07:12:00.036 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:12:04.731 [info] GET /sources/30/media/3007355/force_download 07:12:04.796 [debug] QUERY OK source="settings" db=0.1ms queue=64.6ms idle=1715.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:04.796 [debug] QUERY OK source="settings" db=0.0ms idle=781.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:04.796 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:12:04.797 [error] #PID<0.1178638.0> running PinchflatWeb.Endpoint (connection #PID<0.1178644.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3007355/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3007355/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178644.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3007355/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34884}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178638.0>, params: %{}, path_info: ["sources", "30", "media", "3007355", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3007355/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MJo46Mh9qaioBdI6C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178644.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3007355/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34884}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/30/media/3007355/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178644.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3007355/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34884}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178638.0>, params: %{}, path_info: ["sources", "30", "media", "3007355", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:12:09.272 [info] GET /sources/43/media/3310636/force_download 07:12:09.273 [debug] QUERY OK source="settings" db=0.4ms idle=1257.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:09.273 [debug] QUERY OK source="settings" db=0.0ms idle=1258.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:09.273 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:12:09.273 [error] #PID<0.1178641.0> running PinchflatWeb.Endpoint (connection #PID<0.1178644.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3310636/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3310636/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178644.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3310636/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34884}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178641.0>, params: %{}, path_info: ["sources", "43", "media", "3310636", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3310636/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MJ5zmWkclXoQBdI7C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178644.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3310636/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34884}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/43/media/3310636/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178644.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3310636/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34884}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178641.0>, params: %{}, path_info: ["sources", "43", "media", "3310636", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:12:14.240 [info] GET /sources/52/media/3116960/force_download 07:12:14.240 [debug] QUERY OK source="settings" db=0.1ms idle=1224.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:14.240 [debug] QUERY OK source="settings" db=0.0ms idle=1211.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:14.240 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:12:14.240 [error] #PID<0.1178649.0> running PinchflatWeb.Endpoint (connection #PID<0.1178643.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/3116960/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/3116960/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178643.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3116960/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56876}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178649.0>, params: %{}, path_info: ["sources", "52", "media", "3116960", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/3116960/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MKMT8debmjMABdI8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178643.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3116960/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56876}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/52/media/3116960/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178643.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3116960/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56876}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178649.0>, params: %{}, path_info: ["sources", "52", "media", "3116960", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:12:19.247 [info] GET /sources/32/media/3252564/force_download 07:12:19.248 [debug] QUERY OK source="settings" db=0.1ms idle=1232.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:19.248 [debug] QUERY OK source="settings" db=0.1ms idle=1233.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:19.248 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:12:19.248 [error] #PID<0.1178650.0> running PinchflatWeb.Endpoint (connection #PID<0.1178651.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/3252564/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/32/media/3252564/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178651.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3252564/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49772}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178650.0>, params: %{}, path_info: ["sources", "32", "media", "3252564", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/3252564/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MKe92EeefGJgCQeqB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178651.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3252564/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49772}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/32/media/3252564/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178651.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3252564/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 49772}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178650.0>, params: %{}, path_info: ["sources", "32", "media", "3252564", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:12:22.771 [info] {"source":"oban","duration":8857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:24.260 [info] GET /sources/30/media/3226631/force_download 07:12:24.260 [debug] QUERY OK source="settings" db=0.1ms idle=1216.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:24.261 [debug] QUERY OK source="settings" db=0.0ms idle=245.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:24.261 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:12:24.261 [error] #PID<0.1178652.0> running PinchflatWeb.Endpoint (connection #PID<0.1178653.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3226631/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3226631/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178653.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3226631/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39934}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178652.0>, params: %{}, path_info: ["sources", "30", "media", "3226631", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3226631/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MKxo_Z2rjBoQBdI9C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178653.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3226631/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39934}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/30/media/3226631/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178653.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3226631/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39934}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178652.0>, params: %{}, path_info: ["sources", "30", "media", "3226631", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:12:29.269 [info] GET /media/5d9ecf03-b816-4b34-a0c8-d3bbe7ba2d77/stream 07:12:29.269 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "5d9ecf03-b816-4b34-a0c8-d3bbe7ba2d77"} Pipelines: [:maybe_basic_auth] 07:12:29.270 [debug] QUERY OK source="media_items" db=1.1ms idle=1254.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["5d9ecf03-b816-4b34-a0c8-d3bbe7ba2d77"] 07:12:29.270 [debug] Invalid range request for media item: 5d9ecf03-b816-4b34-a0c8-d3bbe7ba2d77 - serving full file 07:12:29.270 [info] Sent 200 in 1ms 07:12:36.096 [info] GET /sources/52/media/2587438/force_download 07:12:36.096 [debug] QUERY OK source="settings" db=0.1ms idle=1031.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:36.096 [debug] QUERY OK source="settings" db=0.1ms idle=76.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:36.096 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:12:36.097 [error] #PID<0.1178604.0> running PinchflatWeb.Endpoint (connection #PID<0.1178605.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/2587438/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/2587438/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178605.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2587438/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 37882}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178604.0>, params: %{}, path_info: ["sources", "52", "media", "2587438", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/2587438/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MLdu0Dfj-vdIBdI_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.1178605.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2587438/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 37882}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/52/media/2587438/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178605.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2587438/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 37882}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178604.0>, params: %{}, path_info: ["sources", "52", "media", "2587438", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:12:40.416 [info] GET /sources/43/media/3209205/force_download 07:12:40.416 [debug] QUERY OK source="settings" db=0.1ms idle=397.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:40.416 [debug] QUERY OK source="settings" db=0.0ms idle=397.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:40.416 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:12:40.417 [error] #PID<0.1178654.0> running PinchflatWeb.Endpoint (connection #PID<0.1178606.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3209205/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3209205/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178606.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3209205/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39948}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178654.0>, params: %{}, path_info: ["sources", "43", "media", "3209205", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3209205/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MLt01NUOvalgBdJAC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178606.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3209205/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39948}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/43/media/3209205/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178606.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3209205/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39948}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178654.0>, params: %{}, path_info: ["sources", "43", "media", "3209205", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:12:45.417 [info] GET /sources/30/media/2992040/force_download 07:12:45.418 [debug] QUERY OK source="settings" db=0.2ms idle=1398.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:45.418 [debug] QUERY OK source="settings" db=0.0ms idle=1399.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:45.418 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:12:45.418 [error] #PID<0.1178658.0> running PinchflatWeb.Endpoint (connection #PID<0.1178606.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/2992040/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/2992040/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178606.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/2992040/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39948}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178658.0>, params: %{}, path_info: ["sources", "30", "media", "2992040", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/2992040/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MMAdPFXypIWwBdJCC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178606.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/2992040/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39948}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/30/media/2992040/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178606.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/2992040/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39948}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178658.0>, params: %{}, path_info: ["sources", "30", "media", "2992040", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:12:50.419 [info] GET /sources/57/media/2955433/force_download 07:12:50.420 [debug] QUERY OK source="settings" db=0.1ms idle=1400.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:50.420 [debug] QUERY OK source="settings" db=0.0ms idle=1335.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:50.420 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:12:50.420 [error] #PID<0.1178657.0> running PinchflatWeb.Endpoint (connection #PID<0.1178606.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/2955433/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/2955433/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178606.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2955433/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39948}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178657.0>, params: %{}, path_info: ["sources", "57", "media", "2955433", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/2955433/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MMTF1QsJOX78BdJDC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178606.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2955433/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39948}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/57/media/2955433/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178606.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2955433/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39948}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178657.0>, params: %{}, path_info: ["sources", "57", "media", "2955433", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:12:52.779 [info] {"source":"oban","duration":6382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:55.421 [info] GET /sources/57/media/3095309/force_download 07:12:55.422 [debug] QUERY OK source="settings" db=0.1ms idle=1403.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:55.422 [debug] QUERY OK source="settings" db=0.0ms idle=1403.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:12:55.422 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:12:55.422 [error] #PID<0.1178659.0> running PinchflatWeb.Endpoint (connection #PID<0.1178606.0>, stream id 5) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/3095309/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/3095309/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178606.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3095309/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39948}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178659.0>, params: %{}, path_info: ["sources", "57", "media", "3095309", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/3095309/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MMluduXA_Cr0BdJEC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178606.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3095309/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39948}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/3095309/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178606.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3095309/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39948}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178659.0>, params: %{}, path_info: ["sources", "57", "media", "3095309", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:13:00.037 [info] {"source":"oban","duration":131,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:13:00.658 [info] GET /media/c6207b88-1bd4-4584-9ff1-854ae8f175f3/stream 07:13:00.659 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "c6207b88-1bd4-4584-9ff1-854ae8f175f3"} Pipelines: [:maybe_basic_auth] 07:13:00.659 [debug] QUERY OK source="media_items" db=0.4ms idle=1557.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["c6207b88-1bd4-4584-9ff1-854ae8f175f3"] 07:13:00.659 [debug] Invalid range request for media item: c6207b88-1bd4-4584-9ff1-854ae8f175f3 - serving full file 07:13:00.659 [info] Sent 200 in 910µs 07:13:14.625 [info] GET /media/12a59e83-b70f-4bc3-9336-5936e9d0a5a9/stream 07:13:14.625 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "12a59e83-b70f-4bc3-9336-5936e9d0a5a9"} Pipelines: [:maybe_basic_auth] 07:13:14.626 [debug] QUERY OK source="media_items" db=0.6ms idle=523.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["12a59e83-b70f-4bc3-9336-5936e9d0a5a9"] 07:13:14.626 [debug] Invalid range request for media item: 12a59e83-b70f-4bc3-9336-5936e9d0a5a9 - serving full file 07:13:14.626 [info] Sent 200 in 1ms 07:13:18.540 [info] GET /sources/43/media/3020702 07:13:18.540 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3020702", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 07:13:18.540 [debug] QUERY OK source="media_items" db=0.1ms idle=429.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" = ?) [3020702] 07:13:18.541 [debug] QUERY OK source="tasks" db=0.1ms idle=430.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3020702] 07:13:18.541 [debug] QUERY OK source="sources" db=0.1ms idle=430.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:13:18.541 [debug] QUERY OK source="settings" db=0.0ms idle=430.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:18.541 [debug] QUERY OK source="settings" db=0.0ms idle=412.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:18.542 [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 [] 07:13:18.542 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:13:18.543 [info] Sent 200 in 2ms 07:13:22.786 [info] {"source":"oban","duration":5752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:23.456 [info] GET /sources/30/media/3250444 07:13:23.456 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3250444", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 07:13:23.457 [debug] QUERY OK source="media_items" db=0.1ms idle=1345.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" = ?) [3250444] 07:13:23.457 [debug] QUERY OK source="sources" db=0.1ms idle=1322.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:13:23.458 [debug] QUERY OK source="tasks" db=1.3ms idle=1346.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3250444] 07:13:23.459 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=672.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [403325, 406323] 07:13:23.459 [debug] QUERY OK source="settings" db=0.0ms idle=322.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:23.459 [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 [] 07:13:23.459 [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 [] 07:13:23.460 [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] 07:13:23.461 [info] Sent 200 in 4ms 07:13:28.458 [info] GET /sources/43/media/2952286 07:13:28.458 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2952286", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 07:13:28.459 [debug] QUERY OK source="media_items" db=0.1ms idle=1347.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" = ?) [2952286] 07:13:28.459 [debug] QUERY OK source="tasks" db=0.0ms idle=1348.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2952286] 07:13:28.459 [debug] QUERY OK source="sources" db=0.1ms idle=1348.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:13:28.459 [debug] QUERY OK source="settings" db=0.0ms idle=1316.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:28.460 [debug] QUERY OK source="settings" db=0.0ms idle=315.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:28.460 [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 [] 07:13:28.460 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:13:28.461 [info] Sent 200 in 2ms 07:13:33.458 [info] GET /sources/55/media/2909119 07:13:33.458 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2909119", "prevent_download" => "true", "source_id" => "55"} Pipelines: [:browser] 07:13:33.458 [debug] QUERY OK source="media_items" db=0.2ms idle=1347.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" = ?) [2909119] 07:13:33.459 [debug] QUERY OK source="tasks" db=0.0ms idle=1348.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2909119] 07:13:33.459 [debug] QUERY OK source="sources" db=0.1ms idle=1348.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:13:33.459 [debug] QUERY OK source="settings" db=0.0ms idle=1308.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:33.459 [debug] QUERY OK source="settings" db=0.0ms idle=308.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:33.460 [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 [] 07:13:33.460 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:13:33.461 [info] Sent 200 in 3ms 07:13:35.758 [info] GET /sources/52/media/3116960 07:13:35.758 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3116960", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 07:13:35.758 [debug] QUERY OK source="media_items" db=0.2ms idle=647.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" = ?) [3116960] 07:13:35.759 [debug] QUERY OK source="sources" db=0.1ms idle=647.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:13:35.760 [debug] QUERY OK source="tasks" db=1.3ms idle=647.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3116960] 07:13:35.761 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=649.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [366951, 366982, 366998, 367014, 367030, 367046, 367063, 367082, 367098, 367114, 367130, 367146, 367163, 367181, 367197, 367213, 367228, 367246, 369920] 07:13:35.762 [debug] QUERY OK source="settings" db=0.0ms idle=606.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:35.762 [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 [] 07:13:35.762 [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 [] 07:13:35.763 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:13:35.765 [info] Sent 200 in 6ms 07:13:37.164 [info] {"args":{"id":51},"id":419796,"meta":{},"system_time":1782735217164842194,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:13:37.165 [debug] QUERY OK source="sources" db=0.5ms idle=54.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 07:13:37.166 [debug] QUERY OK source="settings" db=0.5ms idle=54.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:37.166 [debug] QUERY OK source="media_profiles" db=0.1ms idle=55.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:13:37.167 [debug] QUERY OK source="settings" db=0.4ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:37.167 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 07:13:37.344 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 07:13:37.344 [debug] QUERY OK source="media_items" db=0.4ms idle=179.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 07:13:37.345 [debug] QUERY OK source="media_items" db=0.4ms idle=179.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")))) [51] 07:13:37.346 [debug] QUERY OK source="tasks" db=0.2ms idle=179.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419811, 51, ~U[2026-06-29 12:13:37Z], ~U[2026-06-29 12:13:37Z]] 07:13:37.347 [info] {"args":{"id":51},"id":419796,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":182051,"event":"job:stop","queue_time":801988,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:13:40.659 [info] GET /sources/30/media/3038536 07:13:40.660 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3038536", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 07:13:40.660 [debug] QUERY OK source="media_items" db=0.2ms idle=1549.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" = ?) [3038536] 07:13:40.661 [debug] QUERY OK source="tasks" db=0.1ms idle=1549.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3038536] 07:13:40.661 [debug] QUERY OK source="sources" db=0.1ms idle=1549.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:13:40.661 [debug] QUERY OK source="settings" db=0.0ms idle=1499.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:40.661 [debug] QUERY OK source="settings" db=0.1ms idle=498.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:40.661 [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 [] 07:13:40.662 [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] 07:13:40.663 [info] Sent 200 in 3ms 07:13:46.483 [info] GET /sources/43/media/2966551 07:13:46.483 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2966551", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 07:13:46.483 [debug] QUERY OK source="media_items" db=0.2ms idle=372.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" = ?) [2966551] 07:13:46.484 [debug] QUERY OK source="tasks" db=0.1ms idle=372.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2966551] 07:13:46.484 [debug] QUERY OK source="sources" db=0.2ms idle=372.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:13:46.484 [debug] QUERY OK source="settings" db=0.1ms idle=373.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:46.484 [debug] QUERY OK source="settings" db=0.0ms idle=314.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:46.484 [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 [] 07:13:46.485 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:13:46.486 [info] Sent 200 in 3ms 07:13:47.177 [info] {"args":{"id":3106516},"id":418939,"meta":{},"system_time":1782735227177694169,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:13:47.178 [debug] QUERY OK source="media_items" db=0.4ms idle=693.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" = ?) [3106516] 07:13:47.178 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:13:47.178 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:13:47.179 [debug] QUERY OK source="media_profiles" db=0.1ms idle=693.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] 07:13:47.179 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [3106516] 07:13:47.181 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [3106516] 07:13:47.181 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:13:47.181 [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 [] 07:13:47.181 [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 [] 07:13:47.181 [debug] Running yt-dlp command for action: get_downloadable_status 07:13:47.183 [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 [] 07:13:47.183 [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 [] 07:13:47.183 [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 [] 07:13:47.183 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8fX6XYN9sDc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/99/fe99fafc3bf2976d8d60d8451b5386bac728edd10c137ee9f6855cf63d92d269.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:13:48.962 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8fX6XYN9sDc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/99/fe99fafc3bf2976d8d60d8451b5386bac728edd10c137ee9f6855cf63d92d269.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 8fX6XYN9sDc: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:13:48.962 [error] yt-dlp download error for media item #3106516: "ERROR: [youtube] 8fX6XYN9sDc: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:13:48.962 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3106516},"id":418939,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1784722,"event":"job:exception","queue_time":884836,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:13:51.365 [info] GET /sources/52/media/3274678 07:13:51.366 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3274678", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 07:13:51.366 [debug] QUERY OK source="media_items" db=0.2ms idle=1255.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" = ?) [3274678] 07:13:51.367 [debug] QUERY OK source="tasks" db=0.2ms idle=1191.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3274678] 07:13:51.367 [debug] QUERY OK source="sources" db=0.3ms idle=255.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:13:51.369 [debug] QUERY OK source="oban_jobs" db=1.7ms idle=256.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [409563, 409597, 409615, 409630, 409646, 409663, 409678, 409696, 409713, 409728, 409744, 409760, 409775, 409793, 409810, 409825, 409843, 409858, 409874, 409891, 409910, 409930, 409950, 409988, 410012, 412082] 07:13:51.369 [debug] QUERY OK source="settings" db=0.0ms idle=193.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:51.369 [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 [] 07:13:51.370 [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 [] 07:13:51.370 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:13:51.373 [info] Sent 200 in 7ms 07:13:52.795 [info] {"source":"oban","duration":8279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:13:56.375 [info] GET /sources/57/media/3197319 07:13:56.375 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3197319", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 07:13:56.375 [debug] QUERY OK source="media_items" db=0.2ms idle=1264.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" = ?) [3197319] 07:13:56.376 [debug] QUERY OK source="sources" db=0.1ms idle=1194.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:13:56.377 [debug] QUERY OK source="tasks" db=1.3ms idle=1264.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3197319] 07:13:56.377 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=266.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [389015, 393428] 07:13:56.378 [debug] QUERY OK source="settings" db=0.0ms idle=193.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:13:56.378 [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 [] 07:13:56.378 [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 [] 07:13:56.379 [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] 07:13:56.380 [info] Sent 200 in 5ms 07:14:00.038 [info] {"source":"oban","duration":148,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:14:01.383 [info] GET /sources/43/media/3075521 07:14:01.383 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3075521", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 07:14:01.384 [debug] QUERY OK source="media_items" db=0.2ms idle=1272.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" = ?) [3075521] 07:14:01.384 [debug] QUERY OK source="sources" db=0.2ms idle=1195.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:14:01.385 [debug] QUERY OK source="tasks" db=0.8ms idle=1273.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3075521] 07:14:01.385 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=274.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [359464] 07:14:01.386 [debug] QUERY OK source="settings" db=0.1ms idle=196.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:01.386 [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 [] 07:14:01.386 [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 [] 07:14:01.386 [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] 07:14:01.387 [info] Sent 200 in 4ms 07:14:02.686 [info] GET /sources/32/media/2939781 07:14:02.686 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2939781", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 07:14:02.687 [debug] QUERY OK source="media_items" db=0.2ms idle=1301.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" = ?) [2939781] 07:14:02.687 [debug] QUERY OK source="tasks" db=0.1ms idle=1301.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2939781] 07:14:02.687 [debug] QUERY OK source="sources" db=0.2ms idle=1301.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:14:02.688 [debug] QUERY OK source="settings" db=0.0ms idle=1301.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:02.688 [debug] QUERY OK source="settings" db=0.0ms idle=496.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:02.688 [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 [] 07:14:02.689 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:14:02.689 [info] Sent 200 in 3ms 07:14:07.544 [info] GET /sources/30/media/3274030 07:14:07.544 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3274030", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 07:14:07.545 [debug] QUERY OK source="media_items" db=0.1ms idle=1434.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" = ?) [3274030] 07:14:07.545 [debug] QUERY OK source="tasks" db=0.1ms idle=1434.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3274030] 07:14:07.545 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:14:07.546 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1349.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [409388, 412081] 07:14:07.546 [debug] QUERY OK source="settings" db=0.0ms idle=347.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:07.546 [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 [] 07:14:07.546 [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 [] 07:14:07.547 [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] 07:14:07.548 [info] Sent 200 in 3ms 07:14:12.545 [info] GET /sources/43/media/3255292 07:14:12.545 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3255292", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 07:14:12.545 [debug] QUERY OK source="media_items" db=0.1ms idle=1434.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" = ?) [3255292] 07:14:12.546 [debug] QUERY OK source="tasks" db=0.1ms idle=1435.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3255292] 07:14:12.546 [debug] QUERY OK source="sources" db=0.1ms idle=1435.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:14:12.546 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1342.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" = ?) [404542] 07:14:12.546 [debug] QUERY OK source="settings" db=0.0ms idle=340.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:12.547 [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 [] 07:14:12.547 [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 [] 07:14:12.548 [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] 07:14:12.549 [info] Sent 200 in 4ms 07:14:17.548 [info] GET /sources/30/media/3266154 07:14:17.548 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3266154", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 07:14:17.548 [debug] QUERY OK source="media_items" db=0.1ms idle=1437.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" = ?) [3266154] 07:14:17.549 [debug] QUERY OK source="tasks" db=0.1ms idle=1438.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3266154] 07:14:17.549 [debug] QUERY OK source="sources" db=0.2ms idle=1438.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:14:17.550 [debug] QUERY OK source="oban_jobs" db=1.2ms idle=1338.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [407403, 410225] 07:14:17.551 [debug] QUERY OK source="settings" db=0.0ms idle=337.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:17.551 [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 [] 07:14:17.551 [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 [] 07:14:17.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] 07:14:17.553 [info] Sent 200 in 5ms 07:14:22.552 [info] GET /sources/43/media/3060780 07:14:22.552 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3060780", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 07:14:22.553 [debug] QUERY OK source="media_items" db=0.2ms idle=1441.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" = ?) [3060780] 07:14:22.553 [debug] QUERY OK source="tasks" db=0.1ms idle=1442.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3060780] 07:14:22.553 [debug] QUERY OK source="sources" db=0.2ms idle=1442.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:14:22.554 [debug] QUERY OK source="settings" db=0.0ms idle=1335.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:22.554 [debug] QUERY OK source="settings" db=0.0ms idle=333.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:22.554 [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 [] 07:14:22.554 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:14:22.555 [info] Sent 200 in 3ms 07:14:22.804 [info] {"source":"oban","duration":8129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:24.229 [info] {"args":{"id":3012876},"id":419779,"meta":{},"system_time":1782735264229359750,"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"]} 07:14:24.229 [debug] QUERY OK source="media_items" db=0.1ms idle=118.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3012876] 07:14:24.229 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:14:24.230 [debug] QUERY OK source="sources" db=0.7ms idle=118.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:14:24.231 [debug] QUERY OK source="media_profiles" db=0.6ms idle=119.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:14:24.231 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [3012876] 07:14:24.233 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [3012876] 07:14:24.233 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:14:24.233 [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 [] 07:14:24.233 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:24.234 [debug] Running yt-dlp command for action: get_downloadable_status 07:14:24.235 [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 [] 07:14:24.235 [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 [] 07:14:24.235 [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 [] 07:14:24.235 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/18/dd/18dd878ca4f5d6f81b5d64eb54ae8d65b42598f81f730bf4029da7f9b5542a60.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:14:25.986 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/18/dd/18dd878ca4f5d6f81b5d64eb54ae8d65b42598f81f730bf4029da7f9b5542a60.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:14:25.986 [error] yt-dlp download error for media item #3012876: "ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:14:25.986 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3012876},"id":419779,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1757076,"event":"job:exception","queue_time":217933,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:14:27.553 [info] GET /sources/30/media/2992040 07:14:27.554 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2992040", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 07:14:27.554 [debug] QUERY OK source="media_items" db=0.2ms idle=1443.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" = ?) [2992040] 07:14:27.555 [debug] QUERY OK source="tasks" db=0.2ms idle=1328.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2992040] 07:14:27.555 [debug] QUERY OK source="sources" db=0.3ms idle=443.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:14:27.555 [debug] QUERY OK source="settings" db=0.0ms idle=444.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:27.555 [debug] QUERY OK source="settings" db=0.0ms idle=327.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:27.556 [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 [] 07:14:27.556 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:14:27.557 [info] Sent 200 in 3ms 07:14:32.555 [info] GET /sources/30/media/3046356 07:14:32.555 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3046356", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 07:14:32.556 [debug] QUERY OK source="media_items" db=0.1ms idle=1445.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" = ?) [3046356] 07:14:32.556 [debug] QUERY OK source="tasks" db=0.1ms idle=1445.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3046356] 07:14:32.556 [debug] QUERY OK source="sources" db=0.1ms idle=1445.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:14:32.557 [debug] QUERY OK source="settings" db=0.1ms idle=1325.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:32.557 [debug] QUERY OK source="settings" db=0.1ms idle=324.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:32.557 [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 [] 07:14:32.558 [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] 07:14:32.558 [info] Sent 200 in 3ms 07:14:37.556 [info] GET /sources/43/media/3209205 07:14:37.556 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3209205", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 07:14:37.557 [debug] QUERY OK source="media_items" db=0.2ms idle=1446.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" = ?) [3209205] 07:14:37.557 [debug] QUERY OK source="tasks" db=0.1ms idle=1446.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3209205] 07:14:37.557 [debug] QUERY OK source="sources" db=0.2ms idle=1446.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:14:37.558 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1319.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [392091, 395334] 07:14:37.558 [debug] QUERY OK source="settings" db=0.0ms idle=318.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:37.558 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:37.559 [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 [] 07:14:37.559 [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] 07:14:37.561 [info] Sent 200 in 4ms 07:14:42.563 [info] GET /sources/57/media/2955433 07:14:42.563 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2955433", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 07:14:42.564 [debug] QUERY OK source="media_items" db=0.1ms idle=1453.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" = ?) [2955433] 07:14:42.564 [debug] QUERY OK source="sources" db=0.2ms idle=1453.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:14:42.570 [debug] QUERY OK source="tasks" db=5.5ms idle=1453.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2955433] 07:14:42.580 [debug] QUERY OK source="oban_jobs" db=9.5ms idle=1324.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [359176, 359189, 361440, 361452, 363453, 363465, 365445, 365457, 367344, 367357, 369636, 369649, 371950, 371963, 374253, 374265, 376516, 376529, 378370, 378382, 380200, 380212, 382153, 382165, 384428, 384440, 386735, 386748, 389017, 389029, 391290, 391302, 393170, 393182, 395071, 395084, 396962, 396985, 399282, 399293, 401605, 401616, 403886, 403897, 406079, 406091, 407965, 407977, 409961, 409972, ...] 07:14:42.580 [debug] QUERY OK source="settings" db=0.0ms idle=334.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:42.581 [debug] QUERY OK source="settings" db=0.0ms idle=16.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:42.581 [debug] QUERY OK source="settings" db=0.0ms idle=16.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:42.581 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:14:42.585 [info] Sent 200 in 21ms 07:14:47.563 [info] GET /sources/52/media/2407712 07:14:47.563 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2407712", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 07:14:47.563 [debug] QUERY OK source="media_items" db=0.1ms idle=1452.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" = ?) [2407712] 07:14:47.564 [debug] QUERY OK source="tasks" db=0.1ms idle=1452.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2407712] 07:14:47.564 [debug] QUERY OK source="sources" db=0.1ms idle=1452.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:14:47.564 [debug] QUERY OK source="settings" db=0.0ms idle=1313.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:47.564 [debug] QUERY OK source="settings" db=0.1ms idle=313.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:47.565 [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 [] 07:14:47.565 [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] 07:14:47.566 [info] Sent 200 in 3ms 07:14:52.564 [info] GET /sources/43/media/3169652 07:14:52.564 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3169652", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 07:14:52.565 [debug] QUERY OK source="media_items" db=0.1ms idle=1453.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" = ?) [3169652] 07:14:52.565 [debug] QUERY OK source="tasks" db=0.1ms idle=1454.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3169652] 07:14:52.565 [debug] QUERY OK source="sources" db=0.1ms idle=1454.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:14:52.565 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1310.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [381079, 384712] 07:14:52.566 [debug] QUERY OK source="settings" db=0.0ms idle=309.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:52.566 [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 [] 07:14:52.566 [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 [] 07:14:52.567 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:14:52.568 [info] Sent 200 in 3ms 07:14:52.812 [info] {"source":"oban","duration":7875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:57.565 [info] GET /sources/52/media/3227315 07:14:57.565 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3227315", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 07:14:57.565 [debug] QUERY OK source="media_items" db=0.2ms idle=1454.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" = ?) [3227315] 07:14:57.566 [debug] QUERY OK source="sources" db=0.1ms idle=1454.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:14:57.567 [debug] QUERY OK source="tasks" db=1.8ms idle=1454.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3227315] 07:14:57.571 [debug] QUERY OK source="oban_jobs" db=3.7ms idle=1307.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [396583, 396614, 396629, 396646, 396663, 396678, 396695, 396712, 396727, 396743, 396761, 396776, 396795, 396813, 396828, 396844, 396862, 396877, 396893, 399554] 07:14:57.572 [debug] QUERY OK source="settings" db=0.0ms idle=310.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:57.572 [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 [] 07:14:57.572 [debug] QUERY OK source="settings" db=0.0ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:14:57.573 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:14:57.575 [info] Sent 200 in 10ms 07:15:00.039 [info] {"source":"oban","duration":131,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:15:02.585 [info] GET /sources/57/media/2452655 07:15:02.585 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2452655", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 07:15:02.585 [debug] QUERY OK source="media_items" db=0.1ms idle=1474.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" = ?) [2452655] 07:15:02.586 [debug] QUERY OK source="tasks" db=0.1ms idle=1475.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2452655] 07:15:02.586 [debug] QUERY OK source="sources" db=0.2ms idle=1475.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:15:02.586 [debug] QUERY OK source="settings" db=0.0ms idle=1318.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:02.586 [debug] QUERY OK source="settings" db=0.0ms idle=317.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:02.587 [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 [] 07:15:02.587 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:02.588 [info] Sent 200 in 2ms 07:15:11.341 [info] GET /sources/46/force_index 07:15:11.342 [debug] QUERY OK source="settings" db=0.1ms idle=1230.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:11.342 [debug] QUERY OK source="settings" db=0.0ms idle=1230.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:11.342 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:15:11.342 [error] #PID<0.1178723.0> running PinchflatWeb.Endpoint (connection #PID<0.1178790.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/46/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/46/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/46/force_index", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178723.0>, params: %{}, path_info: ["sources", "46", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/46/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MUgER1luXy-oBdJ1C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/46/force_index", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/46/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/46/force_index", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178723.0>, params: %{}, path_info: ["sources", "46", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/46/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ (truncated) 07:15:16.065 [info] GET /sources/32/force_index 07:15:16.065 [debug] QUERY OK source="settings" db=0.1ms idle=1954.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:16.065 [debug] QUERY OK source="settings" db=0.1ms idle=1778.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:16.066 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:15:16.066 [error] #PID<0.1178791.0> running PinchflatWeb.Endpoint (connection #PID<0.1178790.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/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/32/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/force_index", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178791.0>, params: %{}, path_info: ["sources", "32", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MUxqdbBIsO1IBdJ3C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/force_index", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/32/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/force_index", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178791.0>, params: %{}, path_info: ["sources", "32", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ (truncated) 07:15:20.301 [info] {"args":{"id":52},"id":419809,"meta":{},"system_time":1782735320301570318,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:15:20.301 [debug] QUERY OK source="sources" db=0.1ms idle=1190.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:15:20.302 [debug] QUERY OK source="settings" db=0.1ms idle=1190.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:20.302 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1007.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:20.303 [debug] QUERY OK source="settings" db=0.5ms 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 [] 07:15:20.303 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 07:15:20.348 [debug] Media ids fetched from RSS: ["HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 07:15:20.349 [debug] QUERY OK source="media_items" db=0.3ms idle=47.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 07:15:20.350 [debug] QUERY OK source="media_items" db=0.6ms idle=47.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")))) [52] 07:15:20.353 [debug] QUERY OK source="tasks" db=0.1ms idle=49.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419812, 1301334, ~U[2026-06-29 12:15:20Z], ~U[2026-06-29 12:15:20Z]] 07:15:20.355 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419813, 1301335, ~U[2026-06-29 12:15:20Z], ~U[2026-06-29 12:15:20Z]] 07:15:20.357 [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" [419814, 1301347, ~U[2026-06-29 12:15:20Z], ~U[2026-06-29 12:15:20Z]] 07:15:20.360 [info] {"args":{"id":1301334},"id":419812,"meta":{},"system_time":1782735320360482884,"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"]} 07:15:20.360 [info] {"args":{"id":1301335},"id":419813,"meta":{},"system_time":1782735320360535836,"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"]} 07:15:20.361 [debug] QUERY OK source="media_items" db=0.6ms idle=3.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 07:15:20.361 [debug] QUERY OK source="media_items" db=0.6ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 07:15:20.361 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:15:20.361 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:15:20.361 [debug] QUERY OK source="tasks" db=0.3ms idle=0.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419815, 1301392, ~U[2026-06-29 12:15:20Z], ~U[2026-06-29 12:15:20Z]] 07:15:20.362 [debug] QUERY OK source="sources" db=0.5ms idle=0.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:15:20.362 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [52] 07:15:20.362 [debug] QUERY OK source="media_profiles" db=0.2ms idle=0.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:20.362 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 07:15:20.363 [debug] QUERY OK source="media_items" db=0.7ms 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 [1301335] 07:15:20.363 [debug] QUERY OK source="media_items" db=0.7ms 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 [1301334] 07:15:20.365 [debug] QUERY OK source="tasks" db=0.1ms idle=2.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419816, 1301393, ~U[2026-06-29 12:15:20Z], ~U[2026-06-29 12:15:20Z]] 07:15:20.366 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301335] 07:15:20.366 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 07:15:20.367 [debug] QUERY OK source="settings" db=0.2ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:20.367 [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 [] 07:15:20.367 [debug] Running yt-dlp command for action: get_downloadable_status 07:15:20.367 [debug] QUERY OK source="media_metadata" db=0.1ms queue=0.2ms 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" = ?) [1301334] 07:15:20.368 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 07:15:20.368 [debug] QUERY OK source="settings" db=0.2ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:20.368 [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 [] 07:15:20.369 [debug] QUERY OK source="tasks" db=0.3ms idle=0.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419817, 1301394, ~U[2026-06-29 12:15:20Z], ~U[2026-06-29 12:15:20Z]] 07:15:20.369 [debug] QUERY OK source="settings" db=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:20.369 [debug] Running yt-dlp command for action: get_downloadable_status 07:15:20.369 [debug] QUERY OK source="settings" db=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:20.369 [debug] QUERY OK source="settings" db=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:20.370 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/24/46/24462ad1ea59b5ff67407337e12c9993577beff044c480a0c50946192da976e4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:15:20.370 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:20.370 [debug] QUERY OK source="settings" db=0.2ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:20.371 [debug] QUERY OK source="settings" db=0.2ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:20.371 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/10/54/1054cd7aacea05d620954ab007615d52eaede96be04765bef7dcb5701919bf5e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:15:20.372 [debug] QUERY OK source="tasks" db=0.2ms idle=1.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419818, 1301395, ~U[2026-06-29 12:15:20Z], ~U[2026-06-29 12:15:20Z]] 07:15:20.375 [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" [419819, 1301397, ~U[2026-06-29 12:15:20Z], ~U[2026-06-29 12:15:20Z]] 07:15:20.378 [debug] QUERY OK source="tasks" db=0.2ms idle=3.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419820, 1301398, ~U[2026-06-29 12:15:20Z], ~U[2026-06-29 12:15:20Z]] 07:15:20.381 [debug] QUERY OK source="tasks" db=0.3ms idle=3.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419821, 1301399, ~U[2026-06-29 12:15:20Z], ~U[2026-06-29 12:15:20Z]] 07:15:20.384 [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" [419822, 1301400, ~U[2026-06-29 12:15:20Z], ~U[2026-06-29 12:15:20Z]] 07:15:20.387 [debug] QUERY OK source="tasks" db=0.3ms idle=3.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419823, 2720968, ~U[2026-06-29 12:15:20Z], ~U[2026-06-29 12:15:20Z]] 07:15:20.388 [debug] QUERY OK source="tasks" db=0.3ms idle=1.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419824, 52, ~U[2026-06-29 12:15:20Z], ~U[2026-06-29 12:15:20Z]] 07:15:20.389 [info] {"args":{"id":52},"id":419809,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":87182,"event":"job:stop","queue_time":772978,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:15:21.067 [info] GET /media_profiles/1/edit 07:15:21.067 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 07:15:21.068 [debug] QUERY OK source="media_profiles" db=0.2ms idle=679.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:21.068 [debug] QUERY OK source="settings" db=0.1ms idle=679.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:21.068 [debug] QUERY OK source="settings" db=0.1ms idle=679.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:21.069 [debug] QUERY OK source="settings" db=0.0ms idle=679.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:21.070 [info] Sent 200 in 3ms 07:15:22.051 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/10/54/1054cd7aacea05d620954ab007615d52eaede96be04765bef7dcb5701919bf5e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:15:22.052 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:22.052 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:22.052 [info] {"args":{"id":1301334},"id":419812,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1691730,"event":"job:stop","queue_time":358891,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:15:22.059 [info] {"args":{"id":1301347},"id":419814,"meta":{},"system_time":1782735322059467359,"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"]} 07:15:22.059 [debug] QUERY OK source="media_items" db=0.1ms idle=991.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" = ?) [1301347] 07:15:22.060 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:15:22.060 [debug] QUERY OK source="sources" db=0.1ms idle=991.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:15:22.060 [debug] QUERY OK source="media_profiles" db=0.1ms idle=762.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:22.061 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301347] 07:15:22.068 [debug] QUERY OK source="media_metadata" db=0.1ms idle=9.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" = ?) [1301347] 07:15:22.069 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:22.069 [debug] QUERY OK source="settings" db=0.1ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:22.069 [debug] QUERY OK source="settings" db=0.0ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:22.069 [debug] Running yt-dlp command for action: get_downloadable_status 07:15:22.070 [debug] QUERY OK source="settings" db=0.0ms idle=9.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:22.070 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:22.071 [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 [] 07:15:22.071 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/76/43/7643c14c91ebfcd247f9f4cbfcf90308863acc13b2944a918636c04a1e689549.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:15:22.364 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/24/46/24462ad1ea59b5ff67407337e12c9993577beff044c480a0c50946192da976e4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:15:22.364 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:22.364 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:22.364 [info] {"args":{"id":1301335},"id":419813,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2003788,"event":"job:stop","queue_time":358891,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:15:22.370 [info] {"args":{"id":1301392},"id":419815,"meta":{},"system_time":1782735322370537685,"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"]} 07:15:22.370 [debug] QUERY OK source="media_items" db=0.2ms idle=299.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" = ?) [1301392] 07:15:22.371 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:15:22.371 [debug] QUERY OK source="sources" db=0.1ms idle=300.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:15:22.371 [debug] QUERY OK source="media_profiles" db=0.1ms idle=72.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] 07:15:22.372 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301392] 07:15:22.373 [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" = ?) [1301392] 07:15:22.373 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:22.373 [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 [] 07:15:22.373 [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 [] 07:15:22.374 [debug] Running yt-dlp command for action: get_downloadable_status 07:15:22.374 [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 [] 07:15:22.375 [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 [] 07:15:22.375 [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 [] 07:15:22.375 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/51/31/5131b72c67a67297614c90477ac99b6858e10889ef9e54ae07129362b4f03b77.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:15:22.821 [info] {"source":"oban","duration":7835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:23.753 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/76/43/7643c14c91ebfcd247f9f4cbfcf90308863acc13b2944a918636c04a1e689549.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:15:23.753 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:23.753 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:23.754 [info] {"args":{"id":1301347},"id":419814,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1694167,"event":"job:stop","queue_time":2058938,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:15:23.760 [info] {"args":{"id":1301393},"id":419816,"meta":{},"system_time":1782735323760893470,"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"]} 07:15:23.761 [debug] QUERY OK source="media_items" db=0.1ms idle=1385.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" = ?) [1301393] 07:15:23.761 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:15:23.762 [debug] QUERY OK source="sources" db=0.5ms idle=939.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:15:23.762 [debug] QUERY OK source="media_profiles" db=0.1ms idle=462.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:23.762 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301393] 07:15:23.764 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301393] 07:15:23.764 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:15:23.765 [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 [] 07:15:23.765 [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 [] 07:15:23.765 [debug] Running yt-dlp command for action: get_downloadable_status 07:15:23.766 [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 [] 07:15:23.766 [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 [] 07:15:23.766 [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 [] 07:15:23.767 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/82/d2/82d25055ec23a7b720ebf524f60aa79c60bf5d04432dcefdc3483e39f0e77cb9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:15:24.158 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/51/31/5131b72c67a67297614c90477ac99b6858e10889ef9e54ae07129362b4f03b77.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:15:24.158 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:24.158 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:24.159 [info] {"args":{"id":1301392},"id":419815,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1788257,"event":"job:stop","queue_time":2369888,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:15:24.165 [info] {"args":{"id":1301394},"id":419817,"meta":{},"system_time":1782735324165544854,"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"]} 07:15:24.165 [debug] QUERY OK source="media_items" db=0.1ms idle=398.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" = ?) [1301394] 07:15:24.166 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:15:24.166 [debug] QUERY OK source="sources" db=0.1ms idle=399.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:15:24.166 [debug] QUERY OK source="media_profiles" db=0.1ms idle=399.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:24.167 [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 [1301394] 07:15:24.168 [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" = ?) [1301394] 07:15:24.168 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:24.168 [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 [] 07:15:24.169 [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 [] 07:15:24.169 [debug] Running yt-dlp command for action: get_downloadable_status 07:15:24.169 [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 [] 07:15:24.170 [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 [] 07:15:24.170 [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 [] 07:15:24.170 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/36/d0/36d0c69f4f9c1f8abf79fe806518b30e3e31f90700d8f42e08dbcc423b9506a5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:15:25.522 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/82/d2/82d25055ec23a7b720ebf524f60aa79c60bf5d04432dcefdc3483e39f0e77cb9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:15:25.522 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:25.522 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:25.523 [info] {"args":{"id":1301393},"id":419816,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1762034,"event":"job:stop","queue_time":3759913,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:15:25.529 [info] {"args":{"id":1301395},"id":419818,"meta":{},"system_time":1782735325529585973,"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"]} 07:15:25.529 [debug] QUERY OK source="media_items" db=0.2ms idle=1359.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" = ?) [1301395] 07:15:25.530 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:15:25.530 [debug] QUERY OK source="sources" db=0.1ms idle=1229.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:15:25.530 [debug] QUERY OK source="media_profiles" db=0.1ms idle=228.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:25.531 [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 [1301395] 07:15:25.532 [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" = ?) [1301395] 07:15:25.532 [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] 07:15:25.532 [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 [] 07:15:25.533 [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 [] 07:15:25.533 [debug] Running yt-dlp command for action: get_downloadable_status 07:15:25.534 [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 [] 07:15:25.534 [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 [] 07:15:25.535 [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 [] 07:15:25.535 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e6/26/e6266981d61cbf7729c9ae41c2cf8530d04c62534e0804c42ccdf89bf3fe49ff.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:15:25.913 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/36/d0/36d0c69f4f9c1f8abf79fe806518b30e3e31f90700d8f42e08dbcc423b9506a5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:15:25.913 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:25.913 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:25.913 [info] {"args":{"id":1301394},"id":419817,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1747986,"event":"job:stop","queue_time":4164939,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:15:25.920 [info] {"args":{"id":1301397},"id":419819,"meta":{},"system_time":1782735325920548616,"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"]} 07:15:25.921 [debug] QUERY OK source="media_items" db=0.2ms idle=385.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" = ?) [1301397] 07:15:25.921 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:15:25.921 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [52] 07:15:25.921 [debug] QUERY OK source="media_profiles" db=0.1ms idle=386.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:25.922 [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 [1301397] 07:15:25.922 [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" = ?) [1301397] 07:15:25.923 [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] 07:15:25.923 [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 [] 07:15:25.923 [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 [] 07:15:25.923 [debug] Running yt-dlp command for action: get_downloadable_status 07:15:25.925 [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 [] 07:15:25.925 [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 [] 07:15:25.925 [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 [] 07:15:25.925 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/51/4351e1d0f44e930f3a5e525673c133d314b6c081bec5228e1a1e111cbd826b4c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:15:26.068 [info] GET /sources/26/force_metadata_refresh 07:15:26.068 [debug] QUERY OK source="settings" db=0.2ms idle=145.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:26.068 [debug] QUERY OK source="settings" db=0.0ms idle=145.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:26.068 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:15:26.069 [error] #PID<0.1178821.0> running PinchflatWeb.Endpoint (connection #PID<0.1178790.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/26/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/26/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/26/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178821.0>, params: %{}, path_info: ["sources", "26", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/26/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MVW7UlMvZ_HYBdJ-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.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/26/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/26/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/26/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178821.0>, params: %{}, path_info: ["sources", "26", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ (truncated) 07:15:27.322 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e6/26/e6266981d61cbf7729c9ae41c2cf8530d04c62534e0804c42ccdf89bf3fe49ff.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:15:27.323 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:27.323 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:27.323 [info] {"args":{"id":1301395},"id":419818,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1793690,"event":"job:stop","queue_time":5528903,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:15:27.329 [info] {"args":{"id":1301398},"id":419820,"meta":{},"system_time":1782735327329486725,"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"]} 07:15:27.329 [debug] QUERY OK source="media_items" db=0.1ms idle=218.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" = ?) [1301398] 07:15:27.330 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:15:27.330 [debug] QUERY OK source="sources" db=0.1ms idle=219.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:15:27.330 [debug] QUERY OK source="media_profiles" db=0.1ms idle=26.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] 07:15:27.330 [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 [1301398] 07:15:27.332 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301398] 07:15:27.332 [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] 07:15:27.333 [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 [] 07:15:27.333 [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 [] 07:15:27.333 [debug] Running yt-dlp command for action: get_downloadable_status 07:15:27.334 [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 [] 07:15:27.334 [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 [] 07:15:27.334 [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 [] 07:15:27.334 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9a/b9/9ab9f723e7e98b129322595dc8e7b9c278956e85b2a46f1661816660a00da40c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:15:27.734 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/51/4351e1d0f44e930f3a5e525673c133d314b6c081bec5228e1a1e111cbd826b4c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:15:27.734 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:27.734 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:27.735 [info] {"args":{"id":1301397},"id":419819,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1814078,"event":"job:stop","queue_time":5919899,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:15:27.741 [info] {"args":{"id":1301399},"id":419821,"meta":{},"system_time":1782735327741512882,"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"]} 07:15:27.741 [debug] QUERY OK source="media_items" db=0.1ms idle=407.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" = ?) [1301399] 07:15:27.741 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:15:27.742 [debug] QUERY OK source="sources" db=0.1ms idle=407.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:15:27.742 [debug] QUERY OK source="media_profiles" db=0.1ms idle=407.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:27.742 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301399] 07:15:27.744 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301399] 07:15:27.744 [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] 07:15:27.744 [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 [] 07:15:27.744 [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 [] 07:15:27.744 [debug] Running yt-dlp command for action: get_downloadable_status 07:15:27.745 [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 [] 07:15:27.745 [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 [] 07:15:27.745 [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 [] 07:15:27.745 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b2/74/b27406ef6d52273690d13b25691200a9018093bad2decc9ae3a41da8aec2ea46.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:15:27.841 [info] GET /sources/9/sync_files_on_disk 07:15:27.841 [debug] QUERY OK source="settings" db=0.1ms idle=96.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:27.841 [debug] QUERY OK source="settings" db=0.0ms idle=97.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:27.842 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:15:27.842 [error] #PID<0.1178828.0> running PinchflatWeb.Endpoint (connection #PID<0.1178790.0>, stream id 5) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/9/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/9/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/sync_files_on_disk", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178828.0>, params: %{}, path_info: ["sources", "9", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/9/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MVdiECHd9j8UBdJ_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.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/sync_files_on_disk", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/sync_files_on_disk", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178828.0>, params: %{}, path_info: ["sources", "9", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/9/sync_files_on_disk", resp_body: n (truncated) 07:15:29.206 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9a/b9/9ab9f723e7e98b129322595dc8e7b9c278956e85b2a46f1661816660a00da40c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:15:29.206 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:29.206 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:29.207 [info] {"args":{"id":1301398},"id":419820,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1877360,"event":"job:stop","queue_time":7328892,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:15:29.213 [info] {"args":{"id":1301400},"id":419822,"meta":{},"system_time":1782735329213814118,"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"]} 07:15:29.214 [debug] QUERY OK source="media_items" db=0.2ms idle=103.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" = ?) [1301400] 07:15:29.214 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:15:29.214 [debug] QUERY OK source="sources" db=0.1ms idle=103.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:15:29.214 [debug] QUERY OK source="media_profiles" db=0.1ms idle=103.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] 07:15:29.215 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301400] 07:15:29.216 [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" = ?) [1301400] 07:15:29.216 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:15:29.216 [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 [] 07:15:29.216 [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 [] 07:15:29.217 [debug] Running yt-dlp command for action: get_downloadable_status 07:15:29.217 [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 [] 07:15:29.218 [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 [] 07:15:29.218 [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 [] 07:15:29.218 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/11/3311f4caefd1a862d59dba16d49d553171dd4e8b1a85237571d3ec119123c66e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:15:29.449 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b2/74/b27406ef6d52273690d13b25691200a9018093bad2decc9ae3a41da8aec2ea46.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:15:29.449 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:29.449 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:29.449 [info] {"args":{"id":1301399},"id":419821,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1707998,"event":"job:stop","queue_time":7740957,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:15:29.456 [info] {"args":{"id":2720968},"id":419823,"meta":{},"system_time":1782735329456609746,"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"]} 07:15:29.457 [debug] QUERY OK source="media_items" db=0.2ms idle=238.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" = ?) [2720968] 07:15:29.457 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:15:29.457 [debug] QUERY OK source="sources" db=0.2ms idle=239.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:15:29.457 [debug] QUERY OK source="media_profiles" db=0.1ms idle=151.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:29.458 [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 [2720968] 07:15:29.460 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.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" = ?) [2720968] 07:15:29.460 [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] 07:15:29.461 [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 [] 07:15:29.461 [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 [] 07:15:29.461 [debug] Running yt-dlp command for action: get_downloadable_status 07:15:29.462 [debug] QUERY OK source="settings" db=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:29.462 [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 [] 07:15:29.462 [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 [] 07:15:29.463 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1e/20/1e20fe208af3cf6b3c12b5697d9ec266166dd56bf8beeacfc38db4015f82d4ec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:15:31.139 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/11/3311f4caefd1a862d59dba16d49d553171dd4e8b1a85237571d3ec119123c66e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:15:31.139 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:31.139 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:31.139 [info] {"args":{"id":1301400},"id":419822,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1925478,"event":"job:stop","queue_time":9212958,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:15:31.381 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1e/20/1e20fe208af3cf6b3c12b5697d9ec266166dd56bf8beeacfc38db4015f82d4ec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:15:31.381 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:31.381 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:15:31.382 [info] {"args":{"id":2720968},"id":419823,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1925051,"event":"job:stop","queue_time":9455890,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:15:32.756 [info] GET /sources/38/force_redownload 07:15:32.757 [debug] QUERY OK source="settings" db=0.2ms idle=1611.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:32.757 [debug] QUERY OK source="settings" db=0.1ms idle=1447.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:32.757 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:15:32.757 [error] #PID<0.1178834.0> running PinchflatWeb.Endpoint (connection #PID<0.1178790.0>, stream id 6) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/38/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/38/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/38/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178834.0>, params: %{}, path_info: ["sources", "38", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/38/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MVv19ioY5WawBdKAC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/38/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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 /sources/38/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/38/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178834.0>, params: %{}, path_info: ["sources", "38", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/38/force_redownload", resp_body: nil, (truncated) 07:15:37.758 [info] GET /sources/26/force_index 07:15:37.758 [debug] QUERY OK source="settings" db=0.1ms idle=1647.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:37.759 [debug] QUERY OK source="settings" db=0.0ms idle=1440.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:37.759 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:15:37.759 [error] #PID<0.1178836.0> running PinchflatWeb.Endpoint (connection #PID<0.1178790.0>, stream id 7) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/26/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/26/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/26/force_index", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178836.0>, params: %{}, path_info: ["sources", "26", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/26/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MWCeg4Wo32NgBdKBC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/26/force_index", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/26/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178790.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/26/force_index", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51674}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178836.0>, params: %{}, path_info: ["sources", "26", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/26/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ (truncated) 07:15:42.763 [info] GET /sources/46/sync_files_on_disk 07:15:42.763 [debug] QUERY OK source="settings" db=0.1ms idle=1652.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:42.763 [debug] QUERY OK source="settings" db=0.0ms idle=1652.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:42.763 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:15:42.764 [error] #PID<0.1178829.0> running PinchflatWeb.Endpoint (connection #PID<0.1178830.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/46/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/46/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178830.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/46/sync_files_on_disk", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 37252}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178829.0>, params: %{}, path_info: ["sources", "46", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/46/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MWVHvNQLVr_UBdKCC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178830.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/46/sync_files_on_disk", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 37252}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/46/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178830.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/46/sync_files_on_disk", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 37252}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178829.0>, params: %{}, path_info: ["sources", "46", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/46/sync_files_on_disk", re (truncated) 07:15:44.773 [info] GET /sources/9 07:15:44.773 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "9"} Pipelines: [:browser] 07:15:44.774 [debug] QUERY OK source="sources" db=0.1ms idle=1662.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 07:15:44.774 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1443.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:44.780 [debug] QUERY OK source="tasks" db=5.7ms idle=663.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 (?,?,?,?)) [9, "executing", "available", "scheduled", "retryable"] 07:15:44.780 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=669.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" = ?) [418233] 07:15:44.781 [debug] QUERY OK source="settings" db=0.1ms idle=448.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:44.781 [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 [] 07:15:44.781 [debug] QUERY OK source="settings" db=0.0ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:44.782 [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" = ?) [9] 07:15:44.798 [debug] QUERY OK source="media_items" db=15.2ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 07:15:44.799 [debug] QUERY OK source="media_items" db=1.2ms idle=17.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 07:15:44.800 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 07:15:44.811 [debug] QUERY OK source="media_items" db=11.0ms idle=18.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 07:15:44.812 [debug] QUERY OK source="media_items" db=0.8ms idle=28.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 07:15:44.812 [debug] QUERY OK source="sources" db=0.0ms idle=14.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 07:15:44.813 [debug] QUERY OK source="media_items" db=0.4ms idle=13.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [9] 07:15:44.814 [debug] QUERY OK source="media_items" db=0.8ms idle=13.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 07:15:44.815 [info] Sent 200 in 41ms 07:15:49.642 [info] GET /sources/22 07:15:49.642 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "22"} Pipelines: [:browser] 07:15:49.642 [debug] QUERY OK source="sources" db=0.1ms idle=1531.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:15:49.643 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1531.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:15:49.646 [debug] QUERY OK source="tasks" db=3.6ms idle=1531.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [22, "executing", "available", "scheduled", "retryable"] 07:15:49.647 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=1309.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [418585] 07:15:49.647 [debug] QUERY OK source="settings" db=0.0ms idle=307.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:49.647 [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 [] 07:15:49.647 [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 [] 07:15:49.648 [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" = ?) [22] 07:15:49.649 [debug] QUERY OK source="media_items" db=0.4ms idle=1.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 07:15:49.649 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [22, 10, 0] 07:15:49.650 [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" = ?) [22] 07:15:49.650 [debug] QUERY OK source="media_items" db=0.0ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [22] 07:15:49.650 [debug] QUERY OK source="media_items" db=0.1ms idle=1.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [22, 10, 0] 07:15:49.651 [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" = ?) [22] 07:15:49.651 [debug] QUERY OK source="media_items" db=0.1ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [22] 07:15:49.651 [debug] QUERY OK source="media_items" db=0.2ms idle=1.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [22, 10, 0] 07:15:49.652 [info] Sent 200 in 10ms 07:15:52.830 [info] {"source":"oban","duration":7773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:55.181 [info] GET /media_profiles/new 07:15:55.181 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 07:15:55.181 [debug] QUERY OK source="settings" db=0.1ms idle=1070.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:55.182 [debug] QUERY OK source="settings" db=0.1ms idle=835.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:55.182 [debug] QUERY OK source="settings" db=0.1ms idle=71.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:55.182 [debug] QUERY OK source="settings" db=0.0ms idle=71.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:55.183 [debug] QUERY OK source="settings" db=0.0ms idle=71.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:15:55.183 [info] Sent 200 in 2ms 07:16:00.040 [info] {"source":"oban","duration":402,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:16:00.095 [info] GET /media_profiles/3/edit 07:16:00.096 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 07:16:00.096 [debug] QUERY OK source="media_profiles" db=0.1ms idle=985.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 07:16:00.096 [debug] QUERY OK source="settings" db=0.1ms idle=985.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:00.096 [debug] QUERY OK source="settings" db=0.0ms idle=985.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:00.097 [debug] QUERY OK source="settings" db=0.1ms idle=741.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:00.098 [info] Sent 200 in 2ms 07:16:05.096 [info] GET /sources/17/force_metadata_refresh 07:16:05.097 [debug] QUERY OK source="settings" db=0.1ms idle=1985.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:05.097 [debug] QUERY OK source="settings" db=0.1ms idle=1986.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:05.097 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:16:05.097 [error] #PID<0.1178846.0> running PinchflatWeb.Endpoint (connection #PID<0.1178826.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/17/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/17/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178826.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 44556}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178846.0>, params: %{}, path_info: ["sources", "17", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/17/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MXoUdBvrhlKUBdKUC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178826.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 44556}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/17/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178826.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 44556}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178846.0>, params: %{}, path_info: ["sources", "17", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ (truncated) 07:16:10.101 [info] GET /sources/57/force_metadata_refresh 07:16:10.101 [debug] QUERY OK source="settings" db=0.1ms idle=1990.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:10.101 [debug] QUERY OK source="settings" db=0.1ms idle=1732.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:10.102 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:16:10.102 [error] #PID<0.1178849.0> running PinchflatWeb.Endpoint (connection #PID<0.1178847.0>, stream id 1) terminated Server: tubesync.cochrun.xyz: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.1178847.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39266}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178849.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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], 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", "GL2MX69nHcZDER0BdKVC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178847.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39266}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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.1178847.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39266}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178849.0>, params: %{}, path_info: ["sources", "57", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ (truncated) 07:16:15.107 [info] GET /sources/55/force_metadata_refresh 07:16:15.107 [debug] QUERY OK source="settings" db=0.1ms idle=1996.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:15.107 [debug] QUERY OK source="settings" db=0.0ms idle=1996.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:15.107 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:16:15.108 [error] #PID<0.1178842.0> running PinchflatWeb.Endpoint (connection #PID<0.1178843.0>, stream id 1) terminated Server: tubesync.cochrun.xyz: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.1178843.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39268}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178842.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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], 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", "GL2MYNnLP73zZEQBdKXC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178843.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39268}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/55/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178843.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39268}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGVBTmVQN0RUVnltRkZwcjlOYjhsdkVU.FKdFtbW5CAU-9dgaDUiG21eM8KRsL8GhNVYc4U1wCX4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178842.0>, params: %{}, path_info: ["sources", "55", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ (truncated) 07:16:20.253 [info] GET /sources/17/media/12953 07:16:20.253 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12953", "source_id" => "17"} Pipelines: [:browser] 07:16:20.253 [debug] QUERY OK source="media_items" db=0.2ms idle=1141.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" = ?) [12953] 07:16:20.254 [debug] QUERY OK source="tasks" db=0.2ms idle=1142.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12953] 07:16:20.254 [debug] QUERY OK source="sources" db=0.2ms idle=868.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 07:16:20.254 [debug] QUERY OK source="settings" db=0.0ms idle=143.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:20.254 [debug] QUERY OK source="settings" db=0.0ms idle=143.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:20.254 [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 [] 07:16:20.255 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:16:20.255 [info] Sent 200 in 2ms 07:16:22.838 [info] {"source":"oban","duration":7815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:16:25.137 [info] GET /sources/43/media/2805841/edit 07:16:25.137 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2805841", "source_id" => "43"} Pipelines: [:browser] 07:16:25.138 [debug] QUERY OK source="media_items" db=0.8ms idle=1026.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" = ?) [2805841] 07:16:25.139 [debug] QUERY OK source="settings" db=0.2ms idle=1028.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:25.139 [debug] QUERY OK source="settings" db=0.2ms idle=1028.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:25.140 [debug] QUERY OK source="settings" db=0.1ms idle=1028.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:25.140 [info] Sent 200 in 3ms 07:16:30.137 [info] GET /sources/17/media/12954 07:16:30.138 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12954", "source_id" => "17"} Pipelines: [:browser] 07:16:30.138 [debug] QUERY OK source="media_items" db=0.1ms idle=1027.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" = ?) [12954] 07:16:30.138 [debug] QUERY OK source="tasks" db=0.1ms idle=1027.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12954] 07:16:30.138 [debug] QUERY OK source="sources" db=0.2ms idle=1027.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 07:16:30.139 [debug] QUERY OK source="settings" db=0.0ms idle=1027.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:30.139 [debug] QUERY OK source="settings" db=0.1ms idle=740.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:30.139 [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 [] 07:16:30.140 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:16:30.140 [info] Sent 200 in 2ms 07:16:37.076 [info] GET /sources/17/media/314734 07:16:37.076 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "314734", "source_id" => "17"} Pipelines: [:browser] 07:16:37.076 [debug] QUERY OK source="media_items" db=0.2ms idle=965.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" = ?) [314734] 07:16:37.077 [debug] QUERY OK source="tasks" db=0.1ms idle=966.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [314734] 07:16:37.077 [debug] QUERY OK source="sources" db=0.1ms idle=966.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 07:16:37.077 [debug] QUERY OK source="settings" db=0.0ms idle=966.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:37.078 [debug] QUERY OK source="settings" db=0.0ms idle=669.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:37.078 [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 [] 07:16:37.078 [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] 07:16:37.079 [info] Sent 200 in 3ms 07:16:41.985 [info] GET /sources/9/force_download_pending 07:16:41.986 [debug] QUERY OK source="settings" db=0.2ms idle=1874.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:41.986 [debug] QUERY OK source="settings" db=0.1ms idle=1875.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:41.986 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:16:41.987 [error] #PID<0.1178868.0> running PinchflatWeb.Endpoint (connection #PID<0.1178861.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/9/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178861.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 36522}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178868.0>, params: %{}, path_info: ["sources", "9", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/9/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MZxvilrRBXkABdKfC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178861.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 36522}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/9/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178861.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 36522}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178868.0>, params: %{}, path_info: ["sources", "9", "force_download_pending"], path_params: %{}, port: 80, private: %{ P (truncated) 07:16:46.992 [info] GET /sources/22/media/894102/edit 07:16:46.993 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "894102", "source_id" => "22"} Pipelines: [:browser] 07:16:46.993 [debug] QUERY OK source="media_items" db=0.1ms idle=1881.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" = ?) [894102] 07:16:46.993 [debug] QUERY OK source="settings" db=0.0ms idle=1572.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:46.993 [debug] QUERY OK source="settings" db=0.0ms idle=882.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:46.994 [debug] QUERY OK source="settings" db=0.0ms idle=883.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:46.994 [info] Sent 200 in 1ms 07:16:51.993 [info] GET /sources/38/media/2014095 07:16:51.993 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2014095", "source_id" => "38"} Pipelines: [:browser] 07:16:51.994 [debug] QUERY OK source="media_items" db=0.2ms idle=1883.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" = ?) [2014095] 07:16:51.994 [debug] QUERY OK source="tasks" db=0.0ms idle=1883.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2014095] 07:16:51.994 [debug] QUERY OK source="sources" db=0.1ms idle=1883.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:16:51.995 [debug] QUERY OK source="settings" db=0.0ms idle=1566.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:51.995 [debug] QUERY OK source="settings" db=0.0ms idle=565.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:51.995 [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 [] 07:16:51.996 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:16:51.996 [info] Sent 200 in 2ms 07:16:52.847 [info] {"source":"oban","duration":7986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:53.918 [info] GET /sources/22/force_redownload 07:16:53.919 [debug] QUERY OK source="settings" db=0.1ms idle=1072.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:53.919 [debug] QUERY OK source="settings" db=0.0ms idle=808.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:53.919 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:16:53.919 [error] #PID<0.1178877.0> running PinchflatWeb.Endpoint (connection #PID<0.1178872.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/22/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/22/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178872.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54350}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178877.0>, params: %{}, path_info: ["sources", "22", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/22/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MaeMlNPkynokBdKkC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178872.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54350}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/22/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178872.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54350}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178877.0>, params: %{}, path_info: ["sources", "22", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/22/force_redownload", resp_body: nil, (truncated) 07:16:58.830 [info] GET /sources/9/force_redownload 07:16:58.830 [debug] QUERY OK source="settings" db=0.1ms idle=1719.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:58.830 [debug] QUERY OK source="settings" db=0.0ms idle=1719.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:16:58.830 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:16:58.830 [error] #PID<0.1178879.0> running PinchflatWeb.Endpoint (connection #PID<0.1178872.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/9/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/9/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178872.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54350}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178879.0>, params: %{}, path_info: ["sources", "9", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/9/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MawfeoiCrYSABdKlC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178872.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54350}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/9/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178872.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54350}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178879.0>, params: %{}, path_info: ["sources", "9", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/9/force_redownload", resp_body: nil, resp_c (truncated) 07:17:00.041 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:17:03.834 [info] GET /sources/52/force_redownload 07:17:03.834 [debug] QUERY OK source="settings" db=0.1ms idle=1388.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:03.834 [debug] QUERY OK source="settings" db=0.0ms idle=723.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:03.834 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:17:03.835 [error] #PID<0.1178880.0> running PinchflatWeb.Endpoint (connection #PID<0.1178810.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/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/52/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178810.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 42428}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178880.0>, params: %{}, path_info: ["sources", "52", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MbDImQdkYaEQCQfUB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178810.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 42428}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/52/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178810.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 42428}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178880.0>, params: %{}, path_info: ["sources", "52", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/force_redownload", resp_body: nil, (truncated) 07:17:08.842 [info] GET /sources/46/force_redownload 07:17:08.842 [debug] QUERY OK source="settings" db=0.1ms idle=1731.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:08.843 [debug] QUERY OK source="settings" db=0.0ms idle=1731.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:08.843 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:17:08.843 [error] #PID<0.1178881.0> running PinchflatWeb.Endpoint (connection #PID<0.1178882.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/46/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/46/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178882.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/46/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 42434}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178881.0>, params: %{}, path_info: ["sources", "46", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/46/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MbVyoFqzA7aEBdKmC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178882.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/46/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 42434}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/46/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178882.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/46/force_redownload", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 42434}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178881.0>, params: %{}, path_info: ["sources", "46", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/46/force_redownload", resp_body: nil, (truncated) 07:17:14.796 [info] GET /sources/26/media/327254/edit 07:17:14.796 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "327254", "source_id" => "26"} Pipelines: [:browser] 07:17:14.797 [debug] QUERY OK source="media_items" db=0.2ms idle=1685.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" = ?) [327254] 07:17:14.797 [debug] QUERY OK source="settings" db=0.0ms idle=1333.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:14.797 [debug] QUERY OK source="settings" db=0.0ms idle=686.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:14.797 [debug] QUERY OK source="settings" db=0.0ms idle=686.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:14.798 [info] Sent 200 in 2ms 07:17:19.629 [info] GET /sources/22/media/315242 07:17:19.630 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "315242", "source_id" => "22"} Pipelines: [:browser] 07:17:19.630 [debug] QUERY OK source="media_items" db=0.1ms idle=1519.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" = ?) [315242] 07:17:19.630 [debug] QUERY OK source="tasks" db=0.1ms idle=1519.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [315242] 07:17:19.630 [debug] QUERY OK source="sources" db=0.2ms idle=1519.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:17:19.631 [debug] QUERY OK source="settings" db=0.0ms idle=1159.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:19.631 [debug] QUERY OK source="settings" db=0.0ms idle=156.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:19.631 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:19.632 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:17:19.633 [info] Sent 200 in 3ms 07:17:22.857 [info] {"source":"oban","duration":9757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:17:24.632 [info] GET /sources/46/media/2670834 07:17:24.633 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2670834", "source_id" => "46"} Pipelines: [:browser] 07:17:24.634 [debug] QUERY OK source="media_items" db=0.8ms idle=1522.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" = ?) [2670834] 07:17:24.634 [debug] QUERY OK source="sources" db=0.2ms idle=1155.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 07:17:24.635 [debug] QUERY OK source="tasks" db=0.7ms idle=1523.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2670834] 07:17:24.635 [debug] QUERY OK source="settings" db=0.0ms idle=523.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:24.635 [debug] QUERY OK source="settings" db=0.0ms idle=154.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:24.635 [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 [] 07:17:24.636 [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] 07:17:24.637 [info] Sent 200 in 4ms 07:17:29.634 [info] GET /sources/52/media/1301393/edit 07:17:29.634 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1301393", "source_id" => "52"} Pipelines: [:browser] 07:17:29.634 [debug] QUERY OK source="media_items" db=0.1ms idle=1523.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" = ?) [1301393] 07:17:29.635 [debug] QUERY OK source="settings" db=0.1ms idle=1523.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:29.635 [debug] QUERY OK source="settings" db=0.0ms idle=1523.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:29.635 [debug] QUERY OK source="settings" db=0.0ms idle=1149.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:29.636 [info] Sent 200 in 1ms 07:17:33.154 [info] GET /sources/52/media/1301397 07:17:33.154 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1301397", "source_id" => "52"} Pipelines: [:browser] 07:17:33.154 [debug] QUERY OK source="media_items" db=0.1ms idle=663.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" = ?) [1301397] 07:17:33.155 [debug] QUERY OK source="sources" db=0.1ms idle=43.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:17:33.233 [debug] QUERY OK source="tasks" db=78.6ms idle=43.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1301397] 07:17:33.618 [debug] QUERY OK source="oban_jobs" db=366.9ms idle=140.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? (truncated) 07:17:33.660 [debug] QUERY OK source="settings" db=0.1ms idle=505.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:33.660 [debug] QUERY OK source="settings" db=0.0ms idle=505.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:33.660 [debug] QUERY OK source="settings" db=0.0ms idle=426.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:33.660 [debug] QUERY OK source="media_profiles" db=0.0ms idle=167.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] 07:17:33.898 [info] Sent 200 in 744ms 07:17:38.072 [info] GET /sources/26/media/327263 07:17:38.072 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "327263", "source_id" => "26"} Pipelines: [:browser] 07:17:38.073 [debug] QUERY OK source="media_items" db=0.2ms idle=961.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" = ?) [327263] 07:17:38.073 [debug] QUERY OK source="tasks" db=0.1ms idle=962.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [327263] 07:17:38.073 [debug] QUERY OK source="sources" db=0.1ms idle=962.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:17:38.073 [debug] QUERY OK source="settings" db=0.0ms idle=962.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:38.073 [debug] QUERY OK source="settings" db=0.0ms idle=573.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:38.074 [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 [] 07:17:38.074 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:17:38.075 [info] Sent 200 in 3ms 07:17:43.074 [info] GET /sources/46/force_download_pending 07:17:43.074 [debug] QUERY OK source="settings" db=0.1ms idle=1963.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:43.074 [debug] QUERY OK source="settings" db=0.0ms idle=1963.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:43.075 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:17:43.075 [error] #PID<0.1178904.0> running PinchflatWeb.Endpoint (connection #PID<0.1178886.0>, stream id 7) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/46/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/46/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178886.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/46/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58772}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178904.0>, params: %{}, path_info: ["sources", "46", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/46/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MdVUFmGo1T4MBdKxC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178886.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/46/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58772}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/46/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178886.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/46/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58772}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdFpFYVpWZEZLZVotU3JNSFlwZjhHd1Jm.IsY_Im1ljdIILiaZ8p2yJ8XilTefx9hEJ5A2-g9dPjY" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178904.0>, params: %{}, path_info: ["sources", "46", "force_download_pending"], path_params: %{}, port: 80, private: %{ (truncated) 07:17:48.078 [info] GET /sources/17/media/12960/edit 07:17:48.078 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12960", "source_id" => "17"} Pipelines: [:browser] 07:17:48.079 [debug] QUERY OK source="media_items" db=0.1ms idle=1967.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" = ?) [12960] 07:17:48.079 [debug] QUERY OK source="settings" db=0.0ms idle=1563.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:48.079 [debug] QUERY OK source="settings" db=0.0ms idle=968.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:48.080 [debug] QUERY OK source="settings" db=0.0ms idle=968.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:48.080 [info] Sent 200 in 1ms 07:17:52.866 [info] {"source":"oban","duration":7592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:53.078 [info] GET /sources/22/media/307944 07:17:53.078 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "307944", "source_id" => "22"} Pipelines: [:browser] 07:17:53.079 [debug] QUERY OK source="media_items" db=0.2ms idle=1968.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" = ?) [307944] 07:17:53.079 [debug] QUERY OK source="tasks" db=0.1ms idle=1968.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [307944] 07:17:53.080 [debug] QUERY OK source="sources" db=0.3ms idle=1556.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 07:17:53.080 [debug] QUERY OK source="settings" db=0.1ms idle=555.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:53.080 [debug] QUERY OK source="settings" db=0.0ms idle=213.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:53.081 [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 [] 07:17:53.081 [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] 07:17:53.082 [info] Sent 200 in 3ms 07:17:58.082 [info] GET /sources/17/media/12957/edit 07:17:58.082 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12957", "source_id" => "17"} Pipelines: [:browser] 07:17:58.082 [debug] QUERY OK source="media_items" db=0.3ms idle=1971.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" = ?) [12957] 07:17:58.083 [debug] QUERY OK source="settings" db=0.1ms idle=1972.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:58.083 [debug] QUERY OK source="settings" db=0.1ms idle=1972.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:58.083 [debug] QUERY OK source="settings" db=0.0ms idle=1551.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:17:58.084 [info] Sent 200 in 2ms 07:18:00.042 [info] {"source":"oban","duration":512,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:18:03.103 [info] GET /sources/30 07:18:03.103 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "30"} Pipelines: [:browser] 07:18:03.103 [debug] QUERY OK source="sources" db=0.2ms idle=1992.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:18:03.104 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1992.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] 07:18:03.163 [debug] QUERY OK source="tasks" db=58.7ms idle=1993.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 07:18:03.163 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=622.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [419810] 07:18:03.163 [debug] QUERY OK source="settings" db=0.0ms idle=59.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:03.163 [debug] QUERY OK source="settings" db=0.0ms idle=59.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:03.164 [debug] QUERY OK source="settings" db=0.0ms idle=53.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:03.165 [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" = ?) [30] 07:18:03.170 [debug] QUERY OK source="media_items" db=4.8ms 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")))) [30] 07:18:03.175 [debug] QUERY OK source="media_items" db=4.9ms idle=6.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 07:18:03.176 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [30] 07:18:03.176 [debug] QUERY OK source="media_items" db=0.3ms idle=12.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 07:18:03.181 [debug] QUERY OK source="media_items" db=4.4ms idle=11.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 ? [30, 10, 0] 07:18:03.182 [debug] QUERY OK source="sources" db=0.1ms idle=11.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:18:03.184 [debug] QUERY OK source="media_items" db=1.5ms idle=7.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"))))) [30] 07:18:03.189 [debug] QUERY OK source="media_items" db=5.2ms idle=7.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 ? [30, 10, 0] 07:18:03.190 [info] Sent 200 in 87ms 07:18:08.105 [info] GET /sources/22/media/307945 07:18:08.106 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "307945", "source_id" => "22"} Pipelines: [:browser] 07:18:08.106 [debug] QUERY OK source="media_items" db=0.2ms idle=995.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" = ?) [307945] 07:18:08.107 [debug] QUERY OK source="tasks" db=0.1ms idle=995.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [307945] 07:18:08.107 [debug] QUERY OK source="sources" db=0.1ms idle=995.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:18:08.107 [debug] QUERY OK source="settings" db=0.1ms idle=996.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:08.107 [debug] QUERY OK source="settings" db=0.1ms idle=559.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:08.107 [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 [] 07:18:08.108 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:18:08.109 [info] Sent 200 in 3ms 07:18:13.118 [info] GET /sources/17/media/12952 07:18:13.118 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12952", "source_id" => "17"} Pipelines: [:browser] 07:18:13.119 [debug] QUERY OK source="media_items" db=0.1ms idle=561.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" = ?) [12952] 07:18:13.119 [debug] QUERY OK source="tasks" db=0.1ms idle=8.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12952] 07:18:13.119 [debug] QUERY OK source="sources" db=0.2ms idle=8.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 07:18:13.119 [debug] QUERY OK source="settings" db=0.0ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:13.120 [debug] QUERY OK source="settings" db=0.0ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:13.120 [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 [] 07:18:13.120 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:18:13.121 [info] Sent 200 in 2ms 07:18:18.122 [info] GET /sources/9/media/6881/edit 07:18:18.123 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6881", "source_id" => "9"} Pipelines: [:browser] 07:18:18.123 [debug] QUERY OK source="media_items" db=0.1ms idle=1012.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" = ?) [6881] 07:18:18.123 [debug] QUERY OK source="settings" db=0.1ms idle=1012.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:18.124 [debug] QUERY OK source="settings" db=0.0ms idle=1012.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:18.124 [debug] QUERY OK source="settings" db=0.1ms idle=1013.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:18.125 [info] Sent 200 in 2ms 07:18:22.875 [info] {"source":"oban","duration":7417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:23.121 [info] GET /sources/22/media/894102 07:18:23.121 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "894102", "source_id" => "22"} Pipelines: [:browser] 07:18:23.121 [debug] QUERY OK source="media_items" db=0.1ms idle=1010.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" = ?) [894102] 07:18:23.122 [debug] QUERY OK source="tasks" db=0.0ms idle=1010.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [894102] 07:18:23.122 [debug] QUERY OK source="sources" db=0.2ms idle=1011.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:18:23.122 [debug] QUERY OK source="settings" db=0.0ms idle=549.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:23.122 [debug] QUERY OK source="settings" db=0.0ms idle=247.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:23.123 [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 [] 07:18:23.123 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:18:23.124 [info] Sent 200 in 3ms 07:18:28.121 [info] GET /sources/17/media/12959/edit 07:18:28.122 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12959", "source_id" => "17"} Pipelines: [:browser] 07:18:28.122 [debug] QUERY OK source="media_items" db=0.1ms idle=1011.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" = ?) [12959] 07:18:28.122 [debug] QUERY OK source="settings" db=0.1ms idle=1011.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:28.122 [debug] QUERY OK source="settings" db=0.0ms idle=1011.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:28.123 [debug] QUERY OK source="settings" db=0.0ms idle=1012.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:28.123 [info] Sent 200 in 2ms 07:18:33.204 [info] GET /sources/52/media/1301395 07:18:33.204 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1301395", "source_id" => "52"} Pipelines: [:browser] 07:18:33.204 [debug] QUERY OK source="media_items" db=0.2ms idle=1093.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" = ?) [1301395] 07:18:33.205 [debug] QUERY OK source="sources" db=0.2ms idle=1093.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:18:33.213 [debug] QUERY OK source="tasks" db=9.0ms idle=1093.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1301395] 07:18:33.263 [debug] QUERY OK source="oban_jobs" db=35.6ms idle=1116.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? (truncated) 07:18:33.304 [debug] QUERY OK source="settings" db=0.1ms idle=718.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:33.304 [debug] QUERY OK source="settings" db=0.0ms idle=100.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:33.305 [debug] QUERY OK source="settings" db=0.1ms idle=100.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:33.305 [debug] QUERY OK source="media_profiles" db=0.0ms idle=91.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:18:33.546 [info] Sent 200 in 342ms 07:18:38.101 [info] GET /sources/9/media/6886/edit 07:18:38.101 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6886", "source_id" => "9"} Pipelines: [:browser] 07:18:38.101 [debug] QUERY OK source="media_items" db=0.1ms idle=990.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" = ?) [6886] 07:18:38.102 [debug] QUERY OK source="settings" db=0.0ms idle=991.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:38.102 [debug] QUERY OK source="settings" db=0.0ms idle=991.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:38.102 [debug] QUERY OK source="settings" db=0.1ms idle=991.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:38.103 [info] Sent 200 in 2ms 07:18:43.102 [info] GET /sources/55/media/2331681/edit 07:18:43.103 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2331681", "source_id" => "55"} Pipelines: [:browser] 07:18:43.103 [debug] QUERY OK source="media_items" db=0.2ms idle=1992.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" = ?) [2331681] 07:18:43.103 [debug] QUERY OK source="settings" db=0.1ms idle=1992.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:43.103 [debug] QUERY OK source="settings" db=0.0ms idle=1992.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:43.104 [debug] QUERY OK source="settings" db=0.0ms idle=1505.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:43.105 [info] Sent 200 in 2ms 07:18:48.103 [info] GET /sources/57/media/2351075 07:18:48.103 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2351075", "source_id" => "57"} Pipelines: [:browser] 07:18:48.103 [debug] QUERY OK source="media_items" db=0.1ms idle=1992.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" = ?) [2351075] 07:18:48.104 [debug] QUERY OK source="tasks" db=0.1ms idle=1993.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2351075] 07:18:48.104 [debug] QUERY OK source="sources" db=0.1ms idle=1993.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:18:48.104 [debug] QUERY OK source="settings" db=0.0ms idle=1497.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:48.104 [debug] QUERY OK source="settings" db=0.0ms idle=497.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:48.105 [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 [] 07:18:48.105 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:18:48.106 [info] Sent 200 in 2ms 07:18:49.467 [info] GET /sources/9/media/2969136/force_download 07:18:49.468 [debug] QUERY OK source="settings" db=0.1ms idle=858.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:49.468 [debug] QUERY OK source="settings" db=0.0ms idle=357.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:49.468 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:18:49.468 [error] #PID<0.1178945.0> running PinchflatWeb.Endpoint (connection #PID<0.1178937.0>, stream id 5) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/9/media/2969136/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/2969136/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178937.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/2969136/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 42014}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178945.0>, params: %{}, path_info: ["sources", "9", "media", "2969136", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/9/media/2969136/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MhMpkSQUyVj8BdLJC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178937.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/2969136/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 42014}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/2969136/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178937.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/2969136/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 42014}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178945.0>, params: %{}, path_info: ["sources", "9", "media", "2969136", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", (truncated) 07:18:52.881 [info] {"source":"oban","duration":5156,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:54.385 [info] GET /sources/55/media/3181376/force_download 07:18:54.386 [debug] QUERY OK source="settings" db=0.1ms idle=1275.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:54.386 [debug] QUERY OK source="settings" db=0.0ms idle=1275.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:18:54.386 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:18:54.386 [error] #PID<0.1178954.0> running PinchflatWeb.Endpoint (connection #PID<0.1178937.0>, stream id 6) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/55/media/3181376/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/55/media/3181376/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178937.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/3181376/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 42014}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178954.0>, params: %{}, path_info: ["sources", "55", "media", "3181376", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/55/media/3181376/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2Mhe-In96ejgUBdLKC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178937.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/3181376/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 42014}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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 /sources/55/media/3181376/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178937.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/3181376/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 42014}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178954.0>, params: %{}, path_info: ["sources", "55", "media", "3181376", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:19:00.043 [info] {"source":"oban","duration":318,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:19:00.165 [info] GET /sources/32/media/1227396 07:19:00.165 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227396", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 07:19:00.165 [debug] QUERY OK source="media_items" db=0.1ms idle=1054.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" = ?) [1227396] 07:19:00.166 [debug] QUERY OK source="tasks" db=0.1ms idle=540.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1227396] 07:19:00.166 [debug] QUERY OK source="sources" db=0.1ms idle=122.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:19:00.166 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=54.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?)) [349722, 376499, 403874] 07:19:00.166 [debug] QUERY OK source="settings" db=0.0ms idle=55.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:00.167 [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 [] 07:19:00.167 [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 [] 07:19:00.167 [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] 07:19:00.168 [info] Sent 200 in 3ms 07:19:05.081 [info] GET /sources/32/media/2606006 07:19:05.081 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2606006", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 07:19:05.082 [debug] QUERY OK source="media_items" db=0.2ms idle=970.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" = ?) [2606006] 07:19:05.082 [debug] QUERY OK source="tasks" db=0.1ms idle=971.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2606006] 07:19:05.082 [debug] QUERY OK source="sources" db=0.2ms idle=971.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:19:05.083 [debug] QUERY OK source="settings" db=0.0ms idle=971.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:05.083 [debug] QUERY OK source="settings" db=0.0ms idle=448.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:05.083 [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 [] 07:19:05.084 [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] 07:19:05.085 [info] Sent 200 in 3ms 07:19:10.082 [info] GET /sources/55/media/2378747 07:19:10.082 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2378747", "prevent_download" => "true", "source_id" => "55"} Pipelines: [:browser] 07:19:10.083 [debug] QUERY OK source="media_items" db=0.2ms idle=1971.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" = ?) [2378747] 07:19:10.084 [debug] QUERY OK source="tasks" db=0.1ms idle=1972.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2378747] 07:19:10.084 [debug] QUERY OK source="sources" db=0.1ms idle=1972.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:19:10.084 [debug] QUERY OK source="settings" db=0.1ms idle=1444.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:10.084 [debug] QUERY OK source="settings" db=0.0ms idle=444.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:10.085 [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 [] 07:19:10.086 [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] 07:19:10.087 [info] Sent 200 in 4ms 07:19:15.087 [info] GET /sources/32/media/2606006/force_download 07:19:15.088 [debug] QUERY OK source="settings" db=0.1ms idle=1977.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:15.088 [debug] QUERY OK source="settings" db=0.1ms idle=1977.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:15.088 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:19:15.088 [error] #PID<0.1178971.0> running PinchflatWeb.Endpoint (connection #PID<0.1178955.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/2606006/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/32/media/2606006/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2606006/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46770}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYLUhJYkpwcDhYMnlsb1R0RVdhb0ZhcHpl.XU6bKdl4zGUmKHuE4yuUstZPrKVEMbfPixllUqIDdmM", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYLUhJYkpwcDhYMnlsb1R0RVdhb0ZhcHpl.XU6bKdl4zGUmKHuE4yuUstZPrKVEMbfPixllUqIDdmM" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178971.0>, params: %{}, path_info: ["sources", "32", "media", "2606006", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYLUhJYkpwcDhYMnlsb1R0RVdhb0ZhcHpl.XU6bKdl4zGUmKHuE4yuUstZPrKVEMbfPixllUqIDdmM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYLUhJYkpwcDhYMnlsb1R0RVdhb0ZhcHpl.XU6bKdl4zGUmKHuE4yuUstZPrKVEMbfPixllUqIDdmM"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/2606006/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2MisF29jJLTMwBdLSC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2606006/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46770}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYLUhJYkpwcDhYMnlsb1R0RVdhb0ZhcHpl.XU6bKdl4zGUmKHuE4yuUstZPrKVEMbfPixllUqIDdmM", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/32/media/2606006/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1178955.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2606006/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46770}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYLUhJYkpwcDhYMnlsb1R0RVdhb0ZhcHpl.XU6bKdl4zGUmKHuE4yuUstZPrKVEMbfPixllUqIDdmM", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYLUhJYkpwcDhYMnlsb1R0RVdhb0ZhcHpl.XU6bKdl4zGUmKHuE4yuUstZPrKVEMbfPixllUqIDdmM" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1178971.0>, params: %{}, path_info: ["sources", "32", "media", "2606006", "force_download"], (truncated) 07:19:16.275 [info] GET /sources/55/media/3181376 07:19:16.275 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3181376", "prevent_download" => "true", "source_id" => "55"} Pipelines: [:browser] 07:19:16.275 [debug] QUERY OK source="media_items" db=0.1ms idle=1164.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" = ?) [3181376] 07:19:16.276 [debug] QUERY OK source="tasks" db=0.1ms idle=1164.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3181376] 07:19:16.276 [debug] QUERY OK source="sources" db=0.1ms idle=628.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:19:16.277 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=165.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [384424, 387000] 07:19:16.277 [debug] QUERY OK source="settings" db=0.0ms idle=165.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:16.277 [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 [] 07:19:16.277 [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 [] 07:19:16.278 [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] 07:19:16.279 [info] Sent 200 in 3ms 07:19:21.186 [info] GET /sources/55/media/3009468 07:19:21.186 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3009468", "prevent_download" => "true", "source_id" => "55"} Pipelines: [:browser] 07:19:21.187 [debug] QUERY OK source="media_items" db=0.8ms idle=1075.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" = ?) [3009468] 07:19:21.187 [debug] QUERY OK source="tasks" db=0.1ms idle=1076.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3009468] 07:19:21.187 [debug] QUERY OK source="sources" db=0.1ms idle=1076.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 07:19:21.188 [debug] QUERY OK source="settings" db=0.0ms idle=1076.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:21.188 [debug] QUERY OK source="settings" db=0.0ms idle=531.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:21.188 [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 [] 07:19:21.189 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:19:21.190 [info] Sent 200 in 3ms 07:19:22.889 [info] {"source":"oban","duration":7420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:26.187 [info] GET /sources/9/media/3258887 07:19:26.187 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3258887", "prevent_download" => "true", "source_id" => "9"} Pipelines: [:browser] 07:19:26.187 [debug] QUERY OK source="media_items" db=0.1ms idle=1076.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" = ?) [3258887] 07:19:26.188 [debug] QUERY OK source="tasks" db=0.1ms idle=1076.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3258887] 07:19:26.188 [debug] QUERY OK source="sources" db=0.2ms idle=1076.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:19:26.188 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=524.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [405681, 408227] 07:19:26.189 [debug] QUERY OK source="settings" db=0.0ms idle=77.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:26.189 [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 [] 07:19:26.189 [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 [] 07:19:26.190 [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] 07:19:26.191 [info] Sent 200 in 3ms 07:19:31.188 [info] GET /sources/9/media/3038996 07:19:31.188 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3038996", "prevent_download" => "true", "source_id" => "9"} Pipelines: [:browser] 07:19:31.189 [debug] QUERY OK source="media_items" db=0.1ms idle=1077.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3038996] 07:19:31.189 [debug] QUERY OK source="tasks" db=0.1ms idle=1077.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3038996] 07:19:31.189 [debug] QUERY OK source="sources" db=0.1ms idle=1077.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:19:31.189 [debug] QUERY OK source="settings" db=0.0ms idle=1078.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:31.189 [debug] QUERY OK source="settings" db=0.0ms idle=518.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:31.190 [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 [] 07:19:31.190 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:19:31.191 [info] Sent 200 in 3ms 07:19:36.188 [info] GET /media/3d9406b1-c521-49e0-b22d-0ff625a24f65/stream 07:19:36.188 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "3d9406b1-c521-49e0-b22d-0ff625a24f65"} Pipelines: [:maybe_basic_auth] 07:19:36.189 [debug] QUERY OK source="media_items" db=0.4ms idle=1077.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["3d9406b1-c521-49e0-b22d-0ff625a24f65"] 07:19:36.189 [debug] Invalid range request for media item: 3d9406b1-c521-49e0-b22d-0ff625a24f65 - serving full file 07:19:36.189 [info] Sent 200 in 1ms 07:19:52.607 [info] GET /media/8cb26d82-0b3b-40c3-82cd-f0edffa7a361/stream 07:19:52.608 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "8cb26d82-0b3b-40c3-82cd-f0edffa7a361"} Pipelines: [:maybe_basic_auth] 07:19:52.608 [debug] QUERY OK source="media_items" db=0.4ms idle=1497.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["8cb26d82-0b3b-40c3-82cd-f0edffa7a361"] 07:19:52.608 [debug] Invalid range request for media item: 8cb26d82-0b3b-40c3-82cd-f0edffa7a361 - serving full file 07:19:52.608 [info] Sent 200 in 815µs 07:19:52.895 [info] {"source":"oban","duration":5842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:56.752 [info] GET /sources/38/media/2003157 07:19:56.752 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2003157", "source_id" => "38"} Pipelines: [:browser] 07:19:56.753 [debug] QUERY OK source="media_items" db=0.2ms idle=1641.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" = ?) [2003157] 07:19:56.753 [debug] QUERY OK source="tasks" db=0.2ms idle=935.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2003157] 07:19:56.753 [debug] QUERY OK source="sources" db=0.2ms idle=642.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:19:56.753 [debug] QUERY OK source="settings" db=0.0ms idle=642.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:56.754 [debug] QUERY OK source="settings" db=0.0ms idle=642.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:19:56.754 [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 [] 07:19:56.754 [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] 07:19:56.755 [info] Sent 200 in 2ms 07:20:00.044 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:20:01.385 [info] GET /sources/9/media/6882 07:20:01.385 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6882", "source_id" => "9"} Pipelines: [:browser] 07:20:01.386 [debug] QUERY OK source="media_items" db=0.1ms idle=1275.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" = ?) [6882] 07:20:01.386 [debug] QUERY OK source="tasks" db=0.1ms idle=1275.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6882] 07:20:01.386 [debug] QUERY OK source="sources" db=0.1ms idle=1275.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:20:01.386 [debug] QUERY OK source="settings" db=0.0ms idle=563.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:01.387 [debug] QUERY OK source="settings" db=0.0ms idle=275.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:01.387 [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 [] 07:20:01.387 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:20:01.388 [info] Sent 200 in 3ms 07:20:06.399 [info] GET /sources/9/media/6875 07:20:06.399 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6875", "source_id" => "9"} Pipelines: [:browser] 07:20:06.400 [debug] QUERY OK source="media_items" db=0.1ms idle=1288.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" = ?) [6875] 07:20:06.400 [debug] QUERY OK source="tasks" db=0.1ms idle=1289.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6875] 07:20:06.400 [debug] QUERY OK source="sources" db=0.2ms idle=1289.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:20:06.400 [debug] QUERY OK source="settings" db=0.0ms idle=1289.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:06.401 [debug] QUERY OK source="settings" db=0.0ms idle=570.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:06.401 [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 [] 07:20:06.401 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:20:06.402 [info] Sent 200 in 3ms 07:20:11.423 [info] GET /sources/9/media/6877 07:20:11.423 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6877", "source_id" => "9"} Pipelines: [:browser] 07:20:11.423 [debug] QUERY OK source="media_items" db=0.1ms idle=1312.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" = ?) [6877] 07:20:11.423 [debug] QUERY OK source="tasks" db=0.1ms idle=1312.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6877] 07:20:11.423 [debug] QUERY OK source="sources" db=0.1ms idle=1312.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:20:11.424 [debug] QUERY OK source="settings" db=0.0ms idle=1313.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:11.424 [debug] QUERY OK source="settings" db=0.0ms idle=584.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:11.424 [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 [] 07:20:11.424 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:20:11.425 [info] Sent 200 in 2ms 07:20:16.382 [info] GET /sources/38/media/2018263 07:20:16.382 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2018263", "source_id" => "38"} Pipelines: [:browser] 07:20:16.383 [debug] QUERY OK source="media_items" db=0.2ms idle=1271.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" = ?) [2018263] 07:20:16.383 [debug] QUERY OK source="tasks" db=0.1ms idle=1272.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2018263] 07:20:16.383 [debug] QUERY OK source="sources" db=0.1ms idle=1272.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:20:16.383 [debug] QUERY OK source="settings" db=0.1ms idle=1272.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:16.384 [debug] QUERY OK source="settings" db=0.0ms idle=534.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:16.384 [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 [] 07:20:16.384 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:20:16.385 [info] Sent 200 in 3ms 07:20:21.592 [info] GET /sources/9/media/6882/edit 07:20:21.592 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6882", "source_id" => "9"} Pipelines: [:browser] 07:20:21.592 [debug] QUERY OK source="media_items" db=0.1ms idle=1480.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" = ?) [6882] 07:20:21.592 [debug] QUERY OK source="settings" db=0.0ms idle=1481.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:21.593 [debug] QUERY OK source="settings" db=0.0ms idle=1481.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:21.593 [debug] QUERY OK source="settings" db=0.0ms idle=1481.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:21.594 [info] Sent 200 in 1ms 07:20:22.902 [info] {"source":"oban","duration":5142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:24.869 [info] {"args":{"id":2622166},"id":418938,"meta":{},"system_time":1782735624868973336,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:20:24.870 [debug] QUERY OK source="media_items" db=1.6ms idle=1758.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" = ?) [2622166] 07:20:24.871 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:20:24.873 [debug] QUERY OK source="sources" db=1.9ms idle=1011.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:20:24.874 [debug] QUERY OK source="media_profiles" db=1.0ms idle=762.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:20:24.875 [debug] QUERY OK source="media_items" db=1.0ms 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 [2622166] 07:20:24.882 [debug] QUERY OK source="media_metadata" db=0.0ms idle=13.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" = ?) [2622166] 07:20:24.883 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:20:24.883 [debug] QUERY OK source="settings" db=0.0ms idle=10.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:24.883 [debug] QUERY OK source="settings" db=0.0ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:24.883 [debug] Running yt-dlp command for action: get_downloadable_status 07:20:24.884 [debug] QUERY OK source="settings" db=0.0ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:24.884 [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 [] 07:20:24.884 [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 [] 07:20:24.885 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lQnIYbuOAMM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/4c/334c8d3e47de4f781d7a2604c379029e6bcd17e5ff185fe6cd5bde54d9f8685a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:20:26.506 [info] GET /sources/38/media/2018263/edit 07:20:26.506 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2018263", "source_id" => "38"} Pipelines: [:browser] 07:20:26.507 [debug] QUERY OK source="media_items" db=0.1ms idle=644.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" = ?) [2018263] 07:20:26.507 [debug] QUERY OK source="settings" db=0.1ms idle=396.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:26.507 [debug] QUERY OK source="settings" db=0.0ms idle=396.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:26.507 [debug] QUERY OK source="settings" db=0.0ms idle=396.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:26.508 [info] Sent 200 in 2ms 07:20:26.674 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=lQnIYbuOAMM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/4c/334c8d3e47de4f781d7a2604c379029e6bcd17e5ff185fe6cd5bde54d9f8685a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] lQnIYbuOAMM: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:20:26.674 [error] yt-dlp download error for media item #2622166: "ERROR: [youtube] lQnIYbuOAMM: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:20:26.675 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":2622166},"id":418938,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1805781,"event":"job:exception","queue_time":108873,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:20:31.507 [info] GET /sources/9/media/6864 07:20:31.507 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6864", "source_id" => "9"} Pipelines: [:browser] 07:20:31.507 [debug] QUERY OK source="media_items" db=0.2ms idle=1396.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" = ?) [6864] 07:20:31.508 [debug] QUERY OK source="tasks" db=0.0ms idle=1396.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6864] 07:20:31.508 [debug] QUERY OK source="sources" db=0.2ms idle=1396.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:20:31.508 [debug] QUERY OK source="settings" db=0.0ms idle=1396.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:31.508 [debug] QUERY OK source="settings" db=0.1ms idle=639.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:31.508 [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 [] 07:20:31.509 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:20:31.510 [info] Sent 200 in 2ms 07:20:36.507 [info] GET /sources/9/media/6884 07:20:36.507 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6884", "source_id" => "9"} Pipelines: [:browser] 07:20:36.508 [debug] QUERY OK source="media_items" db=0.1ms idle=1396.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6884] 07:20:36.508 [debug] QUERY OK source="tasks" db=0.1ms idle=1397.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6884] 07:20:36.508 [debug] QUERY OK source="sources" db=0.1ms idle=1397.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:20:36.509 [debug] QUERY OK source="settings" db=0.0ms idle=1397.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:36.509 [debug] QUERY OK source="settings" db=0.0ms idle=631.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:36.509 [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 [] 07:20:36.510 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:20:36.511 [info] Sent 200 in 3ms 07:20:41.509 [info] GET /sources/9/media/6885/edit 07:20:41.509 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6885", "source_id" => "9"} Pipelines: [:browser] 07:20:41.510 [debug] QUERY OK source="media_items" db=0.1ms idle=1398.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" = ?) [6885] 07:20:41.510 [debug] QUERY OK source="settings" db=0.0ms idle=1398.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:41.510 [debug] QUERY OK source="settings" db=0.0ms idle=1399.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:41.510 [debug] QUERY OK source="settings" db=0.0ms idle=1399.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:41.511 [info] Sent 200 in 1ms 07:20:46.694 [info] GET /sources/55/media/2363004 07:20:46.694 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2363004", "source_id" => "55"} Pipelines: [:browser] 07:20:46.695 [debug] QUERY OK source="media_items" db=0.1ms idle=1583.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" = ?) [2363004] 07:20:46.695 [debug] QUERY OK source="tasks" db=0.0ms idle=1584.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2363004] 07:20:46.695 [debug] QUERY OK source="sources" db=0.1ms idle=1584.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:20:46.695 [debug] QUERY OK source="settings" db=0.0ms idle=1584.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:46.696 [debug] QUERY OK source="settings" db=0.0ms idle=804.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:46.696 [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 [] 07:20:46.696 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:20:46.697 [info] Sent 200 in 2ms 07:20:51.607 [info] GET /sources/26/media/327249 07:20:51.607 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "327249", "source_id" => "26"} Pipelines: [:browser] 07:20:51.608 [debug] QUERY OK source="media_items" db=0.2ms idle=1496.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" = ?) [327249] 07:20:51.608 [debug] QUERY OK source="tasks" db=0.1ms idle=1496.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [327249] 07:20:51.608 [debug] QUERY OK source="sources" db=0.2ms idle=1496.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:20:51.608 [debug] QUERY OK source="settings" db=0.0ms idle=1497.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:51.609 [debug] QUERY OK source="settings" db=0.0ms idle=712.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:51.609 [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 [] 07:20:51.609 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:20:51.610 [info] Sent 200 in 2ms 07:20:52.910 [info] {"source":"oban","duration":7263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:56.609 [info] GET /sources/46/media/2377781/edit 07:20:56.609 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2377781", "source_id" => "46"} Pipelines: [:browser] 07:20:56.610 [debug] QUERY OK source="media_items" db=0.2ms idle=1499.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" = ?) [2377781] 07:20:56.610 [debug] QUERY OK source="settings" db=0.1ms idle=1499.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:56.610 [debug] QUERY OK source="settings" db=0.0ms idle=1499.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:56.611 [debug] QUERY OK source="settings" db=0.0ms idle=706.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:20:56.611 [info] Sent 200 in 2ms 07:21:00.045 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:21:01.609 [info] GET /sources/9/media/6864/edit 07:21:01.609 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6864", "source_id" => "9"} Pipelines: [:browser] 07:21:01.610 [debug] QUERY OK source="media_items" db=0.1ms idle=1499.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" = ?) [6864] 07:21:01.610 [debug] QUERY OK source="settings" db=0.1ms idle=1499.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:01.610 [debug] QUERY OK source="settings" db=0.0ms idle=1499.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:01.611 [debug] QUERY OK source="settings" db=0.0ms idle=700.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:01.611 [info] Sent 200 in 2ms 07:21:06.611 [info] GET /sources/9/media/6877/edit 07:21:06.611 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6877", "source_id" => "9"} Pipelines: [:browser] 07:21:06.611 [debug] QUERY OK source="media_items" db=0.1ms idle=1500.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" = ?) [6877] 07:21:06.612 [debug] QUERY OK source="settings" db=0.0ms idle=1500.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:06.612 [debug] QUERY OK source="settings" db=0.0ms idle=1500.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:06.612 [debug] QUERY OK source="settings" db=0.0ms idle=1501.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:06.613 [info] Sent 200 in 1ms 07:21:17.237 [info] GET /sources/52/media/2352190 07:21:17.237 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2352190", "source_id" => "52"} Pipelines: [:browser] 07:21:17.238 [debug] QUERY OK source="media_items" db=0.1ms idle=1126.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" = ?) [2352190] 07:21:17.238 [debug] QUERY OK source="tasks" db=0.1ms idle=1127.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2352190] 07:21:17.238 [debug] QUERY OK source="sources" db=0.1ms idle=1127.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:21:17.239 [debug] QUERY OK source="settings" db=0.0ms idle=1127.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:17.239 [debug] QUERY OK source="settings" db=0.0ms idle=301.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:17.239 [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 [] 07:21:17.240 [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] 07:21:17.241 [info] Sent 200 in 3ms 07:21:22.115 [info] GET /sources/52/media/1301394/edit 07:21:22.115 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1301394", "source_id" => "52"} Pipelines: [:browser] 07:21:22.115 [debug] QUERY OK source="media_items" db=0.1ms idle=1004.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" = ?) [1301394] 07:21:22.116 [debug] QUERY OK source="settings" db=0.1ms idle=1005.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:22.116 [debug] QUERY OK source="settings" db=0.0ms idle=1005.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:22.116 [debug] QUERY OK source="settings" db=0.0ms idle=1005.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:22.117 [info] Sent 200 in 2ms 07:21:22.918 [info] {"source":"oban","duration":7940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:27.116 [info] GET /sources/52/media/1301392 07:21:27.117 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1301392", "source_id" => "52"} Pipelines: [:browser] 07:21:27.117 [debug] QUERY OK source="media_items" db=0.1ms idle=1006.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" = ?) [1301392] 07:21:27.117 [debug] QUERY OK source="sources" db=0.2ms idle=1006.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:21:27.126 [debug] QUERY OK source="tasks" db=8.9ms idle=1006.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1301392] 07:21:27.199 [debug] QUERY OK source="oban_jobs" db=57.3ms idle=1030.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? (truncated) 07:21:27.240 [debug] QUERY OK source="settings" db=0.1ms idle=288.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:27.240 [debug] QUERY OK source="settings" db=0.0ms idle=123.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:27.241 [debug] QUERY OK source="settings" db=0.0ms idle=123.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:27.241 [debug] QUERY OK source="media_profiles" db=0.1ms idle=114.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:21:27.472 [info] Sent 200 in 355ms 07:21:35.304 [info] GET /sources/46/media/2580275 07:21:35.304 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2580275", "source_id" => "46"} Pipelines: [:browser] 07:21:35.305 [debug] QUERY OK source="media_items" db=0.1ms idle=338.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" = ?) [2580275] 07:21:35.305 [debug] QUERY OK source="tasks" db=0.0ms idle=194.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2580275] 07:21:35.305 [debug] QUERY OK source="sources" db=0.2ms idle=194.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:21:35.306 [debug] QUERY OK source="settings" db=0.0ms idle=194.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:35.306 [debug] QUERY OK source="settings" db=0.0ms idle=195.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:35.306 [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 [] 07:21:35.306 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:21:35.307 [info] Sent 200 in 2ms 07:21:40.206 [info] GET /sources/32/media/1227394 07:21:40.206 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227394", "source_id" => "32"} Pipelines: [:browser] 07:21:40.206 [debug] QUERY OK source="media_items" db=0.1ms idle=1095.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" = ?) [1227394] 07:21:40.207 [debug] QUERY OK source="sources" db=0.2ms idle=1095.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:21:40.207 [debug] QUERY OK source="tasks" db=0.4ms idle=1095.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1227394] 07:21:40.207 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1096.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?)) [349720, 376497, 403872] 07:21:40.208 [debug] QUERY OK source="settings" db=0.0ms idle=232.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:40.208 [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 [] 07:21:40.208 [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 [] 07:21:40.209 [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] 07:21:40.210 [info] Sent 200 in 4ms 07:21:45.206 [info] GET /sources/52/media/1301399 07:21:45.207 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1301399", "source_id" => "52"} Pipelines: [:browser] 07:21:45.207 [debug] QUERY OK source="media_items" db=0.3ms idle=1096.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" = ?) [1301399] 07:21:45.208 [debug] QUERY OK source="sources" db=0.2ms idle=1096.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:21:45.217 [debug] QUERY OK source="tasks" db=9.6ms idle=1096.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1301399] 07:21:45.263 [debug] QUERY OK source="oban_jobs" db=31.1ms idle=1120.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? (truncated) 07:21:45.304 [debug] QUERY OK source="settings" db=0.1ms idle=318.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:45.304 [debug] QUERY OK source="settings" db=0.0ms idle=97.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:45.305 [debug] QUERY OK source="settings" db=0.0ms idle=96.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:45.305 [debug] QUERY OK source="media_profiles" db=0.0ms idle=87.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:21:45.537 [info] Sent 200 in 330ms 07:21:50.208 [info] GET /sources/57/media/2592919 07:21:50.209 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2592919", "source_id" => "57"} Pipelines: [:browser] 07:21:50.209 [debug] QUERY OK source="media_items" db=0.2ms idle=1097.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" = ?) [2592919] 07:21:50.209 [debug] QUERY OK source="tasks" db=0.0ms idle=1098.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2592919] 07:21:50.209 [debug] QUERY OK source="sources" db=0.1ms idle=1098.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:21:50.210 [debug] QUERY OK source="settings" db=0.1ms idle=1098.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:50.210 [debug] QUERY OK source="settings" db=0.0ms idle=215.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:50.210 [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 [] 07:21:50.211 [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] 07:21:50.212 [info] Sent 200 in 3ms 07:21:52.928 [info] {"source":"oban","duration":7824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:55.209 [info] GET /sources/57/media/2561906/edit 07:21:55.209 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2561906", "source_id" => "57"} Pipelines: [:browser] 07:21:55.210 [debug] QUERY OK source="media_items" db=0.1ms idle=1098.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" = ?) [2561906] 07:21:55.210 [debug] QUERY OK source="settings" db=0.1ms idle=1099.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:55.210 [debug] QUERY OK source="settings" db=0.0ms idle=1099.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:55.211 [debug] QUERY OK source="settings" db=0.0ms idle=1099.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:21:55.211 [info] Sent 200 in 1ms 07:22:00.046 [info] {"source":"oban","duration":390,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:22:03.345 [info] GET /sources/32/media/2725711 07:22:03.345 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2725711", "source_id" => "32"} Pipelines: [:browser] 07:22:03.345 [debug] QUERY OK source="media_items" db=0.1ms idle=331.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" = ?) [2725711] 07:22:03.345 [debug] QUERY OK source="tasks" db=0.1ms idle=234.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2725711] 07:22:03.345 [debug] QUERY OK source="sources" db=0.2ms idle=234.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:22:03.346 [debug] QUERY OK source="settings" db=0.0ms idle=234.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:03.346 [debug] QUERY OK source="settings" db=0.0ms idle=235.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:03.346 [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 [] 07:22:03.347 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:22:03.347 [info] Sent 200 in 2ms 07:22:08.231 [info] GET /sources/57/media/2468345/edit 07:22:08.231 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2468345", "source_id" => "57"} Pipelines: [:browser] 07:22:08.232 [debug] QUERY OK source="media_items" db=0.1ms idle=1121.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" = ?) [2468345] 07:22:08.232 [debug] QUERY OK source="settings" db=0.0ms idle=1121.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:08.232 [debug] QUERY OK source="settings" db=0.0ms idle=1121.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:08.233 [debug] QUERY OK source="settings" db=0.0ms idle=1122.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:08.233 [info] Sent 200 in 2ms 07:22:13.232 [info] GET /sources/57/media/2186150 07:22:13.232 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2186150", "source_id" => "57"} Pipelines: [:browser] 07:22:13.233 [debug] QUERY OK source="media_items" db=0.1ms idle=1121.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" = ?) [2186150] 07:22:13.233 [debug] QUERY OK source="sources" db=0.2ms idle=1122.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:22:13.233 [debug] QUERY OK source="tasks" db=0.2ms idle=1122.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2186150] 07:22:13.235 [debug] QUERY OK source="oban_jobs" db=1.3ms idle=1122.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [359182, 361445, 363458, 365450, 367350, 369642, 371956, 374258, 376522, 378375, 380205, 382158, 384433, 386741, 389022, 391295, 393176, 395077, 396980, 399287, 401610, 403891, 406085, 407970, 409965, 411816, 414060, 416340, 418615] 07:22:13.235 [debug] QUERY OK source="settings" db=0.0ms idle=209.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:13.236 [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 [] 07:22:13.236 [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 [] 07:22:13.236 [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] 07:22:13.239 [info] Sent 200 in 7ms 07:22:19.144 [info] GET /sources/57/media/2429274/edit 07:22:19.144 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2429274", "source_id" => "57"} Pipelines: [:browser] 07:22:19.145 [debug] QUERY OK source="media_items" db=0.2ms idle=112.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" = ?) [2429274] 07:22:19.145 [debug] QUERY OK source="settings" db=0.0ms idle=34.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:19.145 [debug] QUERY OK source="settings" db=0.0ms idle=34.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:19.145 [debug] QUERY OK source="settings" db=0.0ms idle=34.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:19.146 [info] Sent 200 in 1ms 07:22:22.934 [info] {"source":"oban","duration":5295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:24.065 [info] GET /sources/52/media/1301395/edit 07:22:24.065 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1301395", "source_id" => "52"} Pipelines: [:browser] 07:22:24.066 [debug] QUERY OK source="media_items" db=0.1ms idle=1027.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" = ?) [1301395] 07:22:24.066 [debug] QUERY OK source="settings" db=0.1ms idle=955.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:24.066 [debug] QUERY OK source="settings" db=0.0ms idle=955.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:24.066 [debug] QUERY OK source="settings" db=0.0ms idle=955.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:24.067 [info] Sent 200 in 1ms 07:22:29.067 [info] GET /sources/38/media/1803892 07:22:29.067 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1803892", "source_id" => "38"} Pipelines: [:browser] 07:22:29.068 [debug] QUERY OK source="media_items" db=0.2ms idle=1957.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" = ?) [1803892] 07:22:29.068 [debug] QUERY OK source="tasks" db=0.1ms idle=1957.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1803892] 07:22:29.068 [debug] QUERY OK source="sources" db=0.2ms idle=1957.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:22:29.069 [debug] QUERY OK source="settings" db=0.1ms idle=1024.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:29.069 [debug] QUERY OK source="settings" db=0.0ms idle=22.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:29.069 [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 [] 07:22:29.070 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:22:29.070 [info] Sent 200 in 3ms 07:22:34.069 [info] GET /sources/32/media/2725711/edit 07:22:34.069 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2725711", "source_id" => "32"} Pipelines: [:browser] 07:22:34.070 [debug] QUERY OK source="media_items" db=0.1ms idle=1958.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" = ?) [2725711] 07:22:34.070 [debug] QUERY OK source="settings" db=0.0ms idle=1959.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:34.070 [debug] QUERY OK source="settings" db=0.0ms idle=1959.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:34.071 [debug] QUERY OK source="settings" db=0.0ms idle=1020.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:34.071 [info] Sent 200 in 1ms 07:22:39.071 [info] GET /sources/57/media/2186150/edit 07:22:39.071 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2186150", "source_id" => "57"} Pipelines: [:browser] 07:22:39.071 [debug] QUERY OK source="media_items" db=0.2ms idle=1960.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" = ?) [2186150] 07:22:39.072 [debug] QUERY OK source="settings" db=0.1ms idle=1960.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:39.072 [debug] QUERY OK source="settings" db=0.0ms idle=1961.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:39.072 [debug] QUERY OK source="settings" db=0.0ms idle=1016.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:39.073 [info] Sent 200 in 1ms 07:22:44.820 [info] GET /sources/new 07:22:44.820 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "9"} Pipelines: [:browser] 07:22:44.820 [debug] QUERY OK source="sources" db=0.1ms idle=757.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 07:22:44.821 [debug] QUERY OK source="media_profiles" db=0.1ms idle=709.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" [] 07:22:44.821 [debug] QUERY OK source="settings" db=0.0ms idle=710.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:44.821 [debug] QUERY OK source="settings" db=0.0ms idle=710.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:44.821 [debug] QUERY OK source="settings" db=0.0ms idle=710.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:44.821 [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 [] 07:22:44.822 [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 [] 07:22:44.823 [info] Sent 200 in 3ms 07:22:49.741 [info] GET /sources/38/media/1803892/edit 07:22:49.741 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1803892", "source_id" => "38"} Pipelines: [:browser] 07:22:49.742 [debug] QUERY OK source="media_items" db=0.1ms idle=1630.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" = ?) [1803892] 07:22:49.742 [debug] QUERY OK source="settings" db=0.1ms idle=1631.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:49.742 [debug] QUERY OK source="settings" db=0.0ms idle=1631.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:49.742 [debug] QUERY OK source="settings" db=0.0ms idle=1631.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:22:49.743 [info] Sent 200 in 2ms 07:22:52.940 [info] {"source":"oban","duration":5062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:00.048 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:23:02.567 [info] GET /sources/new 07:23:02.567 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "43"} Pipelines: [:browser] 07:23:02.567 [debug] QUERY OK source="sources" db=0.1ms idle=1456.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:23:02.567 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1456.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" [] 07:23:02.568 [debug] QUERY OK source="settings" db=0.1ms idle=1456.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:02.568 [debug] QUERY OK source="settings" db=0.0ms idle=1457.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:02.568 [debug] QUERY OK source="settings" db=0.0ms idle=488.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:02.568 [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 [] 07:23:02.569 [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 [] 07:23:02.570 [info] Sent 200 in 3ms 07:23:07.416 [info] GET /sources/new 07:23:07.416 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "46"} Pipelines: [:browser] 07:23:07.416 [debug] QUERY OK source="sources" db=0.2ms idle=1305.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:23:07.417 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1305.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" [] 07:23:07.417 [debug] QUERY OK source="settings" db=0.0ms idle=1306.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:07.417 [debug] QUERY OK source="settings" db=0.0ms idle=1306.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:07.417 [debug] QUERY OK source="settings" db=0.0ms idle=332.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:07.417 [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 [] 07:23:07.418 [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 [] 07:23:07.419 [info] Sent 200 in 3ms 07:23:12.417 [info] GET /sources/46/media/2566270 07:23:12.418 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2566270", "source_id" => "46"} Pipelines: [:browser] 07:23:12.418 [debug] QUERY OK source="media_items" db=0.3ms idle=1307.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" = ?) [2566270] 07:23:12.419 [debug] QUERY OK source="tasks" db=0.1ms idle=1307.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2566270] 07:23:12.419 [debug] QUERY OK source="sources" db=0.2ms idle=1307.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:23:12.419 [debug] QUERY OK source="settings" db=0.0ms idle=1308.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:12.419 [debug] QUERY OK source="settings" db=0.1ms idle=328.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:12.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 [] 07:23:12.420 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:23:12.421 [info] Sent 200 in 3ms 07:23:13.099 [info] {"args":{"id":1227398},"id":406068,"meta":{},"system_time":1782735793099266807,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":19,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:23:13.100 [debug] QUERY OK source="media_items" db=0.6ms idle=679.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" = ?) [1227398] 07:23:13.100 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:23:13.100 [debug] QUERY OK source="sources" db=0.1ms idle=680.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 07:23:13.102 [debug] QUERY OK source="media_profiles" db=1.9ms idle=680.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:23:13.103 [debug] QUERY OK source="media_items" db=0.2ms idle=10.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1227398] 07:23:13.104 [debug] QUERY OK source="media_metadata" db=0.0ms idle=5.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" = ?) [1227398] 07:23:13.105 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:23:13.105 [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 [] 07:23:13.105 [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 [] 07:23:13.105 [debug] Running yt-dlp command for action: get_downloadable_status 07:23:13.106 [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 [] 07:23:13.106 [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 [] 07:23:13.106 [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 [] 07:23:13.107 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jPi3T0LA4tI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/b1/7bb1692c9ff24e151751165257fa08f74b5a452fb4134957ff17606af3442df9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:23:15.027 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jPi3T0LA4tI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/b1/7bb1692c9ff24e151751165257fa08f74b5a452fb4134957ff17606af3442df9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jPi3T0LA4tI: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:23:15.027 [error] yt-dlp download error for media item #1227398: "ERROR: [youtube] jPi3T0LA4tI: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:23:15.027 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1227398},"id":406068,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1928255,"event":"job:exception","queue_time":862654,"attempt":19,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:23:17.418 [info] GET /sources/38/media/2195118 07:23:17.418 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2195118", "source_id" => "38"} Pipelines: [:browser] 07:23:17.419 [debug] QUERY OK source="media_items" db=0.1ms idle=1308.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" = ?) [2195118] 07:23:17.419 [debug] QUERY OK source="tasks" db=0.1ms idle=1308.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2195118] 07:23:17.419 [debug] QUERY OK source="sources" db=0.1ms idle=1308.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:23:17.420 [debug] QUERY OK source="settings" db=0.0ms idle=1309.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:17.420 [debug] QUERY OK source="settings" db=0.1ms idle=323.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:17.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 [] 07:23:17.421 [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] 07:23:17.422 [info] Sent 200 in 3ms 07:23:22.420 [info] GET /sources/55/media/2276817 07:23:22.421 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2276817", "source_id" => "55"} Pipelines: [:browser] 07:23:22.421 [debug] QUERY OK source="media_items" db=0.1ms idle=1310.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" = ?) [2276817] 07:23:22.421 [debug] QUERY OK source="tasks" db=0.0ms idle=1310.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2276817] 07:23:22.422 [debug] QUERY OK source="sources" db=0.1ms idle=1310.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:23:22.422 [debug] QUERY OK source="settings" db=0.0ms idle=1311.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:22.422 [debug] QUERY OK source="settings" db=0.0ms idle=320.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:22.422 [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 [] 07:23:22.423 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:23:22.424 [info] Sent 200 in 3ms 07:23:22.949 [info] {"source":"oban","duration":7875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:38.127 [info] {"args":{"id":51},"id":419811,"meta":{},"system_time":1782735818127695539,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:23:38.128 [debug] QUERY OK source="sources" db=0.1ms idle=16.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 07:23:38.128 [debug] QUERY OK source="settings" db=0.1ms idle=16.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:38.129 [debug] QUERY OK source="media_profiles" db=0.6ms idle=17.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:23:38.129 [debug] QUERY OK source="settings" db=0.1ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:38.129 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 07:23:38.316 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 07:23:38.317 [debug] QUERY OK source="media_items" db=0.4ms idle=188.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 07:23:38.317 [debug] QUERY OK source="media_items" db=0.4ms idle=189.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] 07:23:38.318 [debug] QUERY OK source="tasks" db=0.1ms idle=189.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419825, 51, ~U[2026-06-29 12:23:38Z], ~U[2026-06-29 12:23:38Z]] 07:23:38.319 [info] {"args":{"id":51},"id":419811,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":191198,"event":"job:stop","queue_time":781138,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:23:46.333 [info] GET /media_profiles/new 07:23:46.333 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{"template_id" => "2"} Pipelines: [:browser] 07:23:46.334 [debug] QUERY OK source="media_profiles" db=0.1ms idle=222.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 07:23:46.334 [debug] QUERY OK source="settings" db=0.1ms idle=223.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:46.334 [debug] QUERY OK source="settings" db=0.0ms idle=223.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:46.334 [debug] QUERY OK source="settings" db=0.0ms idle=223.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:46.335 [debug] QUERY OK source="settings" db=0.1ms idle=203.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:46.335 [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 [] 07:23:46.336 [info] Sent 200 in 2ms 07:23:51.245 [info] GET /sources/43/media/2751495 07:23:51.245 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2751495", "source_id" => "43"} Pipelines: [:browser] 07:23:51.246 [debug] QUERY OK source="media_items" db=0.1ms idle=1134.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" = ?) [2751495] 07:23:51.246 [debug] QUERY OK source="tasks" db=0.1ms idle=1135.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2751495] 07:23:51.246 [debug] QUERY OK source="sources" db=0.1ms idle=1135.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:23:51.246 [debug] QUERY OK source="settings" db=0.0ms idle=1109.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:51.247 [debug] QUERY OK source="settings" db=0.0ms idle=107.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:51.247 [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 [] 07:23:51.247 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:23:51.248 [info] Sent 200 in 3ms 07:23:52.957 [info] {"source":"oban","duration":7539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:23:56.252 [info] GET /sources/43/media/2751495/edit 07:23:56.252 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2751495", "source_id" => "43"} Pipelines: [:browser] 07:23:56.252 [debug] QUERY OK source="media_items" db=0.2ms idle=1141.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" = ?) [2751495] 07:23:56.252 [debug] QUERY OK source="settings" db=0.1ms idle=1141.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:56.253 [debug] QUERY OK source="settings" db=0.0ms idle=1108.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:56.253 [debug] QUERY OK source="settings" db=0.1ms idle=142.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:23:56.254 [info] Sent 200 in 2ms 07:24:00.049 [info] {"source":"oban","duration":441,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:24:01.249 [info] GET /sources/new 07:24:01.249 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "17"} Pipelines: [:browser] 07:24:01.250 [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" = ?) [17] 07:24:01.250 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1138.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" [] 07:24:01.250 [debug] QUERY OK source="settings" db=0.1ms idle=1099.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:01.251 [debug] QUERY OK source="settings" db=0.0ms idle=139.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:01.251 [debug] QUERY OK source="settings" db=0.0ms idle=98.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:01.251 [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 [] 07:24:01.252 [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 [] 07:24:01.253 [info] Sent 200 in 3ms 07:24:05.165 [info] {"args":{"id":1611698},"id":419593,"meta":{},"system_time":1782735845165668977,"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"]} 07:24:05.166 [debug] QUERY OK source="media_items" db=0.2ms idle=54.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" = ?) [1611698] 07:24:05.166 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:24:05.166 [debug] QUERY OK source="sources" db=0.1ms idle=54.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:24:05.166 [debug] QUERY OK source="media_profiles" db=0.1ms idle=55.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] 07:24:05.167 [debug] QUERY OK source="media_items" db=0.5ms 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 [1611698] 07:24:05.168 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1611698] 07:24:05.169 [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] 07:24:05.169 [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 [] 07:24:05.169 [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 [] 07:24:05.169 [debug] Running yt-dlp command for action: get_downloadable_status 07:24:05.170 [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 [] 07:24:05.170 [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 [] 07:24:05.170 [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 [] 07:24:05.170 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tcIvHlGaQII --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9d/bf/9dbf9d0a549728a2ee70a5a93243d95b940947e8695413276d4e7d1b58eda529.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:24:06.252 [info] GET /sources/new 07:24:06.252 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "57"} Pipelines: [:browser] 07:24:06.253 [debug] QUERY OK source="sources" db=0.2ms idle=1083.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:24:06.253 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1083.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" [] 07:24:06.253 [debug] QUERY OK source="settings" db=0.1ms idle=1083.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:06.254 [debug] QUERY OK source="settings" db=0.0ms idle=1083.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:06.254 [debug] QUERY OK source="settings" db=0.1ms idle=93.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:06.254 [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 [] 07:24:06.255 [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 [] 07:24:06.256 [info] Sent 200 in 3ms 07:24:06.865 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tcIvHlGaQII --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9d/bf/9dbf9d0a549728a2ee70a5a93243d95b940947e8695413276d4e7d1b58eda529.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] tcIvHlGaQII: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:24:06.866 [error] yt-dlp download error for media item #1611698: "ERROR: [youtube] tcIvHlGaQII: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:24:06.866 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1611698},"id":419593,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1700473,"event":"job:exception","queue_time":844270,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:24:11.696 [info] GET /sources/9/media/6878/force_download 07:24:11.697 [debug] QUERY OK source="settings" db=0.1ms idle=1585.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:11.697 [debug] QUERY OK source="settings" db=0.0ms idle=1585.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:11.697 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:24:11.697 [error] #PID<0.1179141.0> running PinchflatWeb.Endpoint (connection #PID<0.1179142.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/9/media/6878/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/6878/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179142.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/6878/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 43868}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179141.0>, params: %{}, path_info: ["sources", "9", "media", "6878", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/9/media/6878/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2Mz9C-m52aaM4BdMmC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179142.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/6878/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 43868}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/9/media/6878/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179142.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/6878/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 43868}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179141.0>, params: %{}, path_info: ["sources", "9", "media", "6878", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], (truncated) 07:24:16.609 [info] GET /media_profiles/new 07:24:16.609 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{"template_id" => "3"} Pipelines: [:browser] 07:24:16.610 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1498.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 07:24:16.610 [debug] QUERY OK source="settings" db=0.1ms idle=1436.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:16.610 [debug] QUERY OK source="settings" db=0.0ms idle=498.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:16.610 [debug] QUERY OK source="settings" db=0.0ms idle=499.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:16.611 [debug] QUERY OK source="settings" db=0.0ms idle=435.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:16.611 [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 [] 07:24:16.612 [info] Sent 200 in 2ms 07:24:22.040 [info] GET /sources/52/media/1301400/force_download 07:24:22.040 [debug] QUERY OK source="settings" db=0.1ms idle=1929.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:22.040 [debug] QUERY OK source="settings" db=0.0ms idle=1929.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:24:22.040 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:24:22.040 [error] #PID<0.1179153.0> running PinchflatWeb.Endpoint (connection #PID<0.1179150.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/1301400/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/1301400/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179150.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/1301400/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58864}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179153.0>, params: %{}, path_info: ["sources", "52", "media", "1301400", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/1301400/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2M0jk-SRtuyN0BdMqC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179150.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/1301400/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58864}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/52/media/1301400/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179150.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/1301400/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58864}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179153.0>, params: %{}, path_info: ["sources", "52", "media", "1301400", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:24:22.965 [info] {"source":"oban","duration":8025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:52.974 [info] {"source":"oban","duration":7701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:00.051 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:25:07.320 [info] GET /sources/52/media/1301392/force_download 07:25:07.321 [debug] QUERY OK source="settings" db=0.1ms idle=1209.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:07.321 [debug] QUERY OK source="settings" db=0.0ms idle=1210.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:07.321 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:25:07.321 [error] #PID<0.1179155.0> running PinchflatWeb.Endpoint (connection #PID<0.1179156.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/1301392/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/1301392/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/1301392/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39208}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179155.0>, params: %{}, path_info: ["sources", "52", "media", "1301392", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/1301392/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2M3MQw7Jg3LvwBdMsC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/1301392/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39208}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/52/media/1301392/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/1301392/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39208}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179155.0>, params: %{}, path_info: ["sources", "52", "media", "1301392", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:25:12.198 [info] GET /sources/32/media/1227401/force_download 07:25:12.199 [debug] QUERY OK source="settings" db=0.1ms idle=1087.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:12.199 [debug] QUERY OK source="settings" db=0.0ms idle=1087.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:12.199 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:25:12.199 [error] #PID<0.1179157.0> running PinchflatWeb.Endpoint (connection #PID<0.1179156.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/1227401/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/32/media/1227401/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/1227401/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39208}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179157.0>, params: %{}, path_info: ["sources", "32", "media", "1227401", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/1227401/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2M3ebvJzW-y6oBdMtC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/1227401/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39208}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/32/media/1227401/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/1227401/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39208}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179157.0>, params: %{}, path_info: ["sources", "32", "media", "1227401", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:25:17.200 [info] GET /sources/17/media/12958/force_download 07:25:17.200 [debug] QUERY OK source="settings" db=0.2ms idle=1089.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:17.201 [debug] QUERY OK source="settings" db=0.0ms idle=1089.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:17.201 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:25:17.201 [error] #PID<0.1179161.0> running PinchflatWeb.Endpoint (connection #PID<0.1179156.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/17/media/12958/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/17/media/12958/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/media/12958/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39208}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179161.0>, params: %{}, path_info: ["sources", "17", "media", "12958", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/17/media/12958/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2M3xEMlUCysccBdMvC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/media/12958/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39208}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/17/media/12958/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/media/12958/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39208}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179161.0>, params: %{}, path_info: ["sources", "17", "media", "12958", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} (truncated) 07:25:21.289 [info] {"args":{"id":52},"id":419824,"meta":{},"system_time":1782735921289506348,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:25:21.289 [debug] QUERY OK source="sources" db=0.1ms idle=178.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:25:21.291 [debug] QUERY OK source="settings" db=0.1ms queue=1.1ms idle=178.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:21.292 [debug] QUERY OK source="media_profiles" db=0.5ms idle=180.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:25:21.292 [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 [] 07:25:21.292 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 07:25:21.341 [debug] Media ids fetched from RSS: ["HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 07:25:21.341 [debug] QUERY OK source="media_items" db=0.4ms idle=51.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 07:25:21.343 [debug] QUERY OK source="media_items" db=1.0ms idle=50.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")))) [52] 07:25:21.364 [debug] QUERY OK source="tasks" db=3.7ms idle=68.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419826, 1301334, ~U[2026-06-29 12:25:21Z], ~U[2026-06-29 12:25:21Z]] 07:25:21.368 [info] {"args":{"id":1301334},"id":419826,"meta":{},"system_time":1782735921368293794,"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"]} 07:25:21.368 [debug] QUERY OK source="media_items" db=0.1ms idle=7.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 07:25:21.368 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:25:21.369 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:25:21.369 [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] 07:25:21.369 [debug] QUERY OK source="media_items" db=0.2ms idle=1.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1301334] 07:25:21.369 [debug] QUERY OK source="tasks" db=0.2ms idle=1.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419827, 1301335, ~U[2026-06-29 12:25:21Z], ~U[2026-06-29 12:25:21Z]] 07:25:21.371 [debug] QUERY OK source="media_metadata" db=0.0ms queue=1.1ms 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" = ?) [1301334] 07:25:21.372 [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] 07:25:21.372 [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 [] 07:25:21.372 [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" [419828, 1301347, ~U[2026-06-29 12:25:21Z], ~U[2026-06-29 12:25:21Z]] 07:25:21.372 [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 [] 07:25:21.373 [debug] Running yt-dlp command for action: get_downloadable_status 07:25:21.373 [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 [] 07:25:21.374 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:21.374 [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 [] 07:25:21.374 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a7/a5/a7a5637204fadaf72fb6688703c2c199d7f00a3371aa6276400fd3addcec9708.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:25:21.375 [debug] QUERY OK source="tasks" db=0.2ms idle=0.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419829, 1301392, ~U[2026-06-29 12:25:21Z], ~U[2026-06-29 12:25:21Z]] 07:25:21.376 [info] {"args":{"id":1301335},"id":419827,"meta":{},"system_time":1782735921376691956,"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"]} 07:25:21.377 [debug] QUERY OK source="media_items" db=0.6ms 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" = ?) [1301335] 07:25:21.377 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:25:21.377 [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" = ?) [52] 07:25:21.378 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:25:21.378 [debug] QUERY OK source="tasks" db=0.4ms idle=0.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419830, 1301393, ~U[2026-06-29 12:25:21Z], ~U[2026-06-29 12:25:21Z]] 07:25:21.378 [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 [1301335] 07:25:21.379 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301335] 07:25:21.380 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:25:21.380 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:21.381 [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 [] 07:25:21.381 [debug] Running yt-dlp command for action: get_downloadable_status 07:25:21.381 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=1.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419831, 1301394, ~U[2026-06-29 12:25:21Z], ~U[2026-06-29 12:25:21Z]] 07:25:21.382 [debug] QUERY OK source="settings" db=0.2ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:21.382 [debug] QUERY OK source="settings" db=0.3ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:21.382 [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 [] 07:25:21.383 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/03/56/0356e2e03f6caaa6f7fb1153f7ee0970f296034c55e4fa316183af3e47421958.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:25:21.384 [debug] QUERY OK source="tasks" db=0.2ms idle=2.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419832, 1301395, ~U[2026-06-29 12:25:21Z], ~U[2026-06-29 12:25:21Z]] 07:25:21.387 [debug] QUERY OK source="tasks" db=0.2ms idle=3.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419833, 1301397, ~U[2026-06-29 12:25:21Z], ~U[2026-06-29 12:25:21Z]] 07:25:21.390 [debug] QUERY OK source="tasks" db=0.3ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419834, 1301398, ~U[2026-06-29 12:25:21Z], ~U[2026-06-29 12:25:21Z]] 07:25:21.392 [debug] QUERY OK source="tasks" db=0.2ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419835, 1301399, ~U[2026-06-29 12:25:21Z], ~U[2026-06-29 12:25:21Z]] 07:25:21.395 [debug] QUERY OK source="tasks" db=0.2ms idle=2.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419836, 1301400, ~U[2026-06-29 12:25:21Z], ~U[2026-06-29 12:25:21Z]] 07:25:21.397 [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" [419837, 2720968, ~U[2026-06-29 12:25:21Z], ~U[2026-06-29 12:25:21Z]] 07:25:21.398 [debug] QUERY OK source="tasks" db=0.2ms idle=1.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419838, 52, ~U[2026-06-29 12:25:21Z], ~U[2026-06-29 12:25:21Z]] 07:25:21.398 [info] {"args":{"id":52},"id":419824,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":109022,"event":"job:stop","queue_time":900488,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:25:22.202 [info] GET /sources/52/media/2326463/force_download 07:25:22.202 [debug] QUERY OK source="settings" db=0.2ms idle=804.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:22.202 [debug] QUERY OK source="settings" db=0.1ms idle=804.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:22.203 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:25:22.203 [error] #PID<0.1179169.0> running PinchflatWeb.Endpoint (connection #PID<0.1179156.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/2326463/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/2326463/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2326463/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39208}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179169.0>, params: %{}, path_info: ["sources", "52", "media", "2326463", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/2326463/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2M4DswCngSLG4BdM2C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2326463/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39208}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/52/media/2326463/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2326463/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 39208}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179169.0>, params: %{}, path_info: ["sources", "52", "media", "2326463", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:25:22.983 [info] {"source":"oban","duration":7692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:23.060 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a7/a5/a7a5637204fadaf72fb6688703c2c199d7f00a3371aa6276400fd3addcec9708.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:25:23.060 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:23.061 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:23.061 [info] {"args":{"id":1301334},"id":419826,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1692848,"event":"job:stop","queue_time":366888,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:25:23.067 [info] {"args":{"id":1301347},"id":419828,"meta":{},"system_time":1782735923067441214,"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"]} 07:25:23.067 [debug] QUERY OK source="media_items" db=0.1ms idle=864.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" = ?) [1301347] 07:25:23.067 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:25:23.068 [debug] QUERY OK source="sources" db=0.1ms idle=775.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:25:23.068 [debug] QUERY OK source="media_profiles" db=0.5ms idle=84.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:25:23.069 [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 [1301347] 07:25:23.070 [debug] QUERY OK source="media_metadata" db=0.0ms 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" = ?) [1301347] 07:25:23.070 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:25:23.070 [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 [] 07:25:23.071 [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 [] 07:25:23.071 [debug] Running yt-dlp command for action: get_downloadable_status 07:25:23.072 [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 [] 07:25:23.072 [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 [] 07:25:23.072 [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 [] 07:25:23.072 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/9e/b89ea0d7bc0f549d5f4b607e634a0e24df735a0226a85f6ec93aa5ae4162157d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:25:23.179 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/03/56/0356e2e03f6caaa6f7fb1153f7ee0970f296034c55e4fa316183af3e47421958.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:25:23.179 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:23.179 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:23.179 [info] {"args":{"id":1301335},"id":419827,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1802752,"event":"job:stop","queue_time":374888,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:25:23.186 [info] {"args":{"id":1301392},"id":419829,"meta":{},"system_time":1782735923186492753,"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"]} 07:25:23.186 [debug] QUERY OK source="media_items" db=0.1ms idle=114.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" = ?) [1301392] 07:25:23.187 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:25:23.187 [debug] QUERY OK source="sources" db=0.1ms idle=114.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:25:23.187 [debug] QUERY OK source="media_profiles" db=0.1ms idle=115.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] 07:25:23.188 [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 [1301392] 07:25:23.188 [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" = ?) [1301392] 07:25:23.189 [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] 07:25:23.189 [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 [] 07:25:23.189 [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 [] 07:25:23.189 [debug] Running yt-dlp command for action: get_downloadable_status 07:25:23.190 [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 [] 07:25:23.190 [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 [] 07:25:23.190 [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 [] 07:25:23.190 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/4c/d74c7e3bf32cf159c781d5444ef656375682f2547822ba860e0650fa83906e49.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:25:24.860 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/9e/b89ea0d7bc0f549d5f4b607e634a0e24df735a0226a85f6ec93aa5ae4162157d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:25:24.860 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:24.860 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:24.861 [info] {"args":{"id":1301347},"id":419828,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1793109,"event":"job:stop","queue_time":2066939,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:25:24.867 [info] {"args":{"id":1301393},"id":419830,"meta":{},"system_time":1782735924867549594,"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"]} 07:25:24.867 [debug] QUERY OK source="media_items" db=0.1ms idle=1676.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" = ?) [1301393] 07:25:24.867 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:25:24.868 [debug] QUERY OK source="sources" db=0.1ms idle=1573.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:25:24.868 [debug] QUERY OK source="media_profiles" db=0.1ms idle=571.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:25:24.868 [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 [1301393] 07:25:24.870 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301393] 07:25:24.870 [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] 07:25:24.870 [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 [] 07:25:24.870 [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 [] 07:25:24.870 [debug] Running yt-dlp command for action: get_downloadable_status 07:25:24.871 [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 [] 07:25:24.871 [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 [] 07:25:24.871 [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 [] 07:25:24.871 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/09/d8097bd72e3840456f7ef5dede2e147acc84924721b0af5dc22ac2e9cf04ae6a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:25:25.210 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/4c/d74c7e3bf32cf159c781d5444ef656375682f2547822ba860e0650fa83906e49.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:25:25.210 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:25.211 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:25.211 [info] {"args":{"id":1301392},"id":419829,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2024676,"event":"job:stop","queue_time":2185956,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:25:25.217 [info] {"args":{"id":1301394},"id":419831,"meta":{},"system_time":1782735925217492937,"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"]} 07:25:25.217 [debug] QUERY OK source="media_items" db=0.1ms idle=346.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" = ?) [1301394] 07:25:25.217 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:25:25.218 [debug] QUERY OK source="sources" db=0.1ms idle=346.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:25:25.218 [debug] QUERY OK source="media_profiles" db=0.1ms idle=346.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] 07:25:25.218 [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 [1301394] 07:25:25.219 [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" = ?) [1301394] 07:25:25.220 [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] 07:25:25.220 [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 [] 07:25:25.220 [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 [] 07:25:25.220 [debug] Running yt-dlp command for action: get_downloadable_status 07:25:25.222 [debug] QUERY OK source="settings" db=0.0ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:25.222 [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 [] 07:25:25.222 [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 [] 07:25:25.223 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/56/c1/56c1eb454623ea276a4769a16ef33f26269212a60f65dff61b06f0767a02bf4e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:25:26.658 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/09/d8097bd72e3840456f7ef5dede2e147acc84924721b0af5dc22ac2e9cf04ae6a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:25:26.658 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:26.658 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:26.659 [info] {"args":{"id":1301393},"id":419830,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1791019,"event":"job:stop","queue_time":3866944,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:25:26.666 [info] {"args":{"id":1301395},"id":419832,"meta":{},"system_time":1782735926666025262,"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"]} 07:25:26.666 [debug] QUERY OK source="media_items" db=0.1ms idle=1443.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" = ?) [1301395] 07:25:26.666 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:25:26.666 [debug] QUERY OK source="sources" db=0.2ms idle=1368.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:25:26.667 [debug] QUERY OK source="media_profiles" db=0.1ms idle=367.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:25:26.667 [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 [1301395] 07:25:26.669 [debug] QUERY OK source="media_metadata" db=0.0ms 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" = ?) [1301395] 07:25:26.669 [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] 07:25:26.669 [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 [] 07:25:26.669 [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 [] 07:25:26.669 [debug] Running yt-dlp command for action: get_downloadable_status 07:25:26.670 [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 [] 07:25:26.670 [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 [] 07:25:26.670 [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 [] 07:25:26.671 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7c/e7/7ce78f6a9c6988455515e7b73b0f56ca1e929f8c43bc76f49a2ecf08d6b6ac4a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:25:27.110 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/56/c1/56c1eb454623ea276a4769a16ef33f26269212a60f65dff61b06f0767a02bf4e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:25:27.110 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:27.110 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:27.111 [info] {"args":{"id":1301394},"id":419831,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1893220,"event":"job:stop","queue_time":4216908,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:25:27.117 [info] {"args":{"id":1301397},"id":419833,"meta":{},"system_time":1782735927117618233,"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"]} 07:25:27.118 [debug] QUERY OK source="media_items" db=0.2ms idle=447.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" = ?) [1301397] 07:25:27.118 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:25:27.118 [debug] QUERY OK source="sources" db=0.2ms idle=447.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:25:27.118 [debug] QUERY OK source="media_profiles" db=0.1ms idle=447.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:25:27.119 [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 [1301397] 07:25:27.119 [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" = ?) [1301397] 07:25:27.119 [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] 07:25:27.119 [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 [] 07:25:27.120 [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 [] 07:25:27.120 [debug] Running yt-dlp command for action: get_downloadable_status 07:25:27.121 [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 [] 07:25:27.121 [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 [] 07:25:27.122 [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 [] 07:25:27.122 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fb/59/fb593fdffd1d80bbb47e53138b979fc59c5584679d95d00c024a4ec955eeffe6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:25:27.219 [info] GET /sources/57/media/2787403/force_download 07:25:27.219 [debug] QUERY OK source="settings" db=0.1ms idle=99.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:27.219 [debug] QUERY OK source="settings" db=0.0ms idle=99.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:27.220 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:25:27.220 [error] #PID<0.1179192.0> running PinchflatWeb.Endpoint (connection #PID<0.1179188.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/2787403/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/2787403/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179188.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2787403/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 59478}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179192.0>, params: %{}, path_info: ["sources", "57", "media", "2787403", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/2787403/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2M4WY74JEHZxIBdM3C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179188.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2787403/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 59478}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/media/2787403/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179188.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2787403/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 59478}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179192.0>, params: %{}, path_info: ["sources", "57", "media", "2787403", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:25:28.522 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7c/e7/7ce78f6a9c6988455515e7b73b0f56ca1e929f8c43bc76f49a2ecf08d6b6ac4a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:25:28.522 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:28.522 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:28.523 [info] {"args":{"id":1301395},"id":419832,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1856720,"event":"job:stop","queue_time":5665004,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:25:28.529 [info] {"args":{"id":1301398},"id":419834,"meta":{},"system_time":1782735928529759903,"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"]} 07:25:28.530 [debug] QUERY OK source="media_items" db=0.1ms idle=1309.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" = ?) [1301398] 07:25:28.530 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:25:28.530 [debug] QUERY OK source="sources" db=0.2ms idle=1229.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:25:28.530 [debug] QUERY OK source="media_profiles" db=0.1ms idle=228.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] 07:25:28.531 [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 [1301398] 07:25:28.531 [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" = ?) [1301398] 07:25:28.531 [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] 07:25:28.532 [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 [] 07:25:28.532 [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 [] 07:25:28.532 [debug] Running yt-dlp command for action: get_downloadable_status 07:25:28.534 [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 [] 07:25:28.534 [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 [] 07:25:28.534 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:28.534 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/09/66/09660f3f97f7ebee6e306ca53fe7328698a1422db02a489be7d469fce7c74169.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:25:28.950 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fb/59/fb593fdffd1d80bbb47e53138b979fc59c5584679d95d00c024a4ec955eeffe6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:25:28.950 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:28.951 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:28.951 [info] {"args":{"id":1301397},"id":419833,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1833471,"event":"job:stop","queue_time":6116909,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:25:28.957 [info] {"args":{"id":1301399},"id":419835,"meta":{},"system_time":1782735928957597855,"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"]} 07:25:28.958 [debug] QUERY OK source="media_items" db=0.2ms idle=423.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301399] 07:25:28.958 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:25:28.958 [debug] QUERY OK source="sources" db=0.1ms idle=424.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:25:28.958 [debug] QUERY OK source="media_profiles" db=0.1ms idle=424.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] 07:25:28.959 [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 [1301399] 07:25:28.961 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301399] 07:25:28.961 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:25:28.961 [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 [] 07:25:28.961 [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 [] 07:25:28.961 [debug] Running yt-dlp command for action: get_downloadable_status 07:25:28.962 [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 [] 07:25:28.962 [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 [] 07:25:28.963 [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 [] 07:25:28.963 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ec/bb/ecbb5d4ec38555765cfc36a706f4cad028b448039d899fc28e564f5e023697a5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:25:30.554 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/09/66/09660f3f97f7ebee6e306ca53fe7328698a1422db02a489be7d469fce7c74169.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:25:30.554 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:30.554 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:30.555 [info] {"args":{"id":1301398},"id":419834,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2025247,"event":"job:stop","queue_time":7528920,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:25:30.562 [info] {"args":{"id":1301400},"id":419836,"meta":{},"system_time":1782735930562101595,"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"]} 07:25:30.562 [debug] QUERY OK source="media_items" db=0.2ms idle=451.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" = ?) [1301400] 07:25:30.562 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:25:30.563 [debug] QUERY OK source="sources" db=0.1ms idle=451.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:25:30.563 [debug] QUERY OK source="media_profiles" db=0.1ms idle=259.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:25:30.563 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301400] 07:25:30.566 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.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" = ?) [1301400] 07:25:30.566 [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] 07:25:30.566 [debug] QUERY OK source="settings" db=0.0ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:30.567 [debug] QUERY OK source="settings" db=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:30.567 [debug] Running yt-dlp command for action: get_downloadable_status 07:25:30.568 [debug] QUERY OK source="settings" db=0.0ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:30.568 [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 [] 07:25:30.568 [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 [] 07:25:30.568 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/e5/d7e55df9576ad3df3559723abebc00fb1ed85fd9c7804daa57011a8a6dcea099.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:25:30.882 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ec/bb/ecbb5d4ec38555765cfc36a706f4cad028b448039d899fc28e564f5e023697a5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:25:30.883 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:30.883 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:30.883 [info] {"args":{"id":1301399},"id":419835,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1925646,"event":"job:stop","queue_time":7956948,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:25:30.889 [info] {"args":{"id":2720968},"id":419837,"meta":{},"system_time":1782735930889543677,"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"]} 07:25:30.889 [debug] QUERY OK source="media_items" db=0.1ms idle=321.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2720968] 07:25:30.890 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:25:30.890 [debug] QUERY OK source="sources" db=0.1ms idle=321.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:25:30.890 [debug] QUERY OK source="media_profiles" db=0.1ms idle=321.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] 07:25:30.890 [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 [2720968] 07:25:30.891 [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" = ?) [2720968] 07:25:30.891 [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] 07:25:30.892 [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 [] 07:25:30.892 [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 [] 07:25:30.892 [debug] Running yt-dlp command for action: get_downloadable_status 07:25:30.893 [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 [] 07:25:30.893 [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 [] 07:25:30.893 [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 [] 07:25:30.893 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/c6/7bc6b7dbcb6f0b7cb660955514739a138f18d1ecd724828faae77a6aa4010fd1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:25:32.415 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/e5/d7e55df9576ad3df3559723abebc00fb1ed85fd9c7804daa57011a8a6dcea099.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:25:32.415 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:32.415 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:32.415 [info] {"args":{"id":1301400},"id":419836,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1853261,"event":"job:stop","queue_time":9560947,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:25:32.667 [info] GET /sources/26/media/327251 07:25:32.667 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "327251", "prevent_download" => "true", "source_id" => "26"} Pipelines: [:browser] 07:25:32.667 [debug] QUERY OK source="media_items" db=0.3ms idle=555.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" = ?) [327251] 07:25:32.668 [debug] QUERY OK source="tasks" db=0.1ms idle=556.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [327251] 07:25:32.668 [debug] QUERY OK source="sources" db=0.1ms idle=361.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:25:32.668 [debug] QUERY OK source="settings" db=0.0ms idle=252.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:32.668 [debug] QUERY OK source="settings" db=0.0ms idle=246.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:32.668 [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 [] 07:25:32.669 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:25:32.670 [info] Sent 200 in 3ms 07:25:32.993 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/c6/7bc6b7dbcb6f0b7cb660955514739a138f18d1ecd724828faae77a6aa4010fd1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:25:32.993 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:32.993 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:25:32.994 [info] {"args":{"id":2720968},"id":419837,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2104444,"event":"job:stop","queue_time":9888954,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:25:37.177 [info] GET /sources/57/media/2569752/force_download 07:25:37.177 [debug] QUERY OK source="settings" db=0.2ms idle=1066.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:37.177 [debug] QUERY OK source="settings" db=0.1ms idle=1066.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:37.178 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:25:37.178 [error] #PID<0.1179214.0> running PinchflatWeb.Endpoint (connection #PID<0.1179202.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/2569752/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/2569752/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179202.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2569752/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55408}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179214.0>, params: %{}, path_info: ["sources", "57", "media", "2569752", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/2569752/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2M47fFR9zsq7cBdM4C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179202.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2569752/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55408}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/57/media/2569752/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179202.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2569752/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55408}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179214.0>, params: %{}, path_info: ["sources", "57", "media", "2569752", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:25:42.098 [info] GET /sources/52/media/1301396/force_download 07:25:42.098 [debug] QUERY OK source="settings" db=0.1ms idle=1987.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:42.098 [debug] QUERY OK source="settings" db=0.1ms idle=1779.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:42.098 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:25:42.098 [error] #PID<0.1179208.0> running PinchflatWeb.Endpoint (connection #PID<0.1179202.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/1301396/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/1301396/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179202.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/1301396/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55408}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179208.0>, params: %{}, path_info: ["sources", "52", "media", "1301396", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/1301396/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2M5N0SLiTI1nQBdM5C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179202.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/1301396/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55408}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/52/media/1301396/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179202.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/1301396/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55408}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179208.0>, params: %{}, path_info: ["sources", "52", "media", "1301396", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:25:47.100 [info] GET /sources/17/media/12960/force_download 07:25:47.100 [debug] QUERY OK source="settings" db=0.1ms idle=1989.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:47.100 [debug] QUERY OK source="settings" db=0.0ms idle=1989.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:47.101 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:25:47.101 [error] #PID<0.1179211.0> running PinchflatWeb.Endpoint (connection #PID<0.1179202.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/17/media/12960/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/17/media/12960/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179202.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/media/12960/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55408}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179211.0>, params: %{}, path_info: ["sources", "17", "media", "12960", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/17/media/12960/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2M5gc7JZUBQPgBdM6C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179202.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/media/12960/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55408}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/17/media/12960/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179202.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/media/12960/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55408}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179211.0>, params: %{}, path_info: ["sources", "17", "media", "12960", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} (truncated) 07:25:52.105 [info] GET /sources/17/media/12959/force_download 07:25:52.106 [debug] QUERY OK source="settings" db=0.1ms idle=1994.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:52.106 [debug] QUERY OK source="settings" db=0.0ms idle=1772.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:52.106 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:25:52.106 [error] #PID<0.1179220.0> running PinchflatWeb.Endpoint (connection #PID<0.1179219.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/17/media/12959/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/17/media/12959/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179219.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/media/12959/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34218}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179220.0>, params: %{}, path_info: ["sources", "17", "media", "12959", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/17/media/12959/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2M5zGWMosr1XcBdM7C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179219.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/media/12959/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34218}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/17/media/12959/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179219.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/media/12959/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34218}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179220.0>, params: %{}, path_info: ["sources", "17", "media", "12959", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} (truncated) 07:25:52.991 [info] {"source":"oban","duration":7766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:57.107 [info] GET /sources/17/media/12955/force_download 07:25:57.108 [debug] QUERY OK source="settings" db=0.1ms idle=1996.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:57.108 [debug] QUERY OK source="settings" db=0.0ms idle=1997.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:25:57.108 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:25:57.108 [error] #PID<0.1179218.0> running PinchflatWeb.Endpoint (connection #PID<0.1179219.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/17/media/12955/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/17/media/12955/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179219.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/media/12955/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34218}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179218.0>, params: %{}, path_info: ["sources", "17", "media", "12955", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/17/media/12955/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2M6Fu1M5LwhpEBdM8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179219.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/media/12955/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34218}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/17/media/12955/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179219.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/17/media/12955/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34218}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179218.0>, params: %{}, path_info: ["sources", "17", "media", "12955", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} (truncated) 07:26:00.052 [info] {"source":"oban","duration":600,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:26:02.930 [info] GET /sources/52/media/2720968/edit 07:26:02.930 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2720968", "source_id" => "52"} Pipelines: [:browser] 07:26:02.930 [debug] QUERY OK source="media_items" db=0.1ms idle=1819.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" = ?) [2720968] 07:26:02.930 [debug] QUERY OK source="settings" db=0.0ms idle=1577.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:02.931 [debug] QUERY OK source="settings" db=0.0ms idle=819.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:02.931 [debug] QUERY OK source="settings" db=0.0ms idle=819.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:02.932 [info] Sent 200 in 1ms 07:26:07.684 [info] GET /sources/17/media/12958 07:26:07.684 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12958", "prevent_download" => "true", "source_id" => "17"} Pipelines: [:browser] 07:26:07.685 [debug] QUERY OK source="media_items" db=0.1ms idle=1573.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" = ?) [12958] 07:26:07.685 [debug] QUERY OK source="tasks" db=0.0ms idle=1574.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12958] 07:26:07.685 [debug] QUERY OK source="sources" db=0.1ms idle=1574.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 07:26:07.685 [debug] QUERY OK source="settings" db=0.0ms idle=1324.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:07.685 [debug] QUERY OK source="settings" db=0.0ms idle=322.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:07.686 [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 [] 07:26:07.686 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:26:07.687 [info] Sent 200 in 2ms 07:26:12.598 [info] GET /sources/17/media/12959 07:26:12.598 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12959", "prevent_download" => "true", "source_id" => "17"} Pipelines: [:browser] 07:26:12.599 [debug] QUERY OK source="media_items" db=0.1ms idle=1487.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" = ?) [12959] 07:26:12.599 [debug] QUERY OK source="tasks" db=0.1ms idle=1488.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12959] 07:26:12.599 [debug] QUERY OK source="sources" db=0.1ms idle=1488.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 07:26:12.599 [debug] QUERY OK source="settings" db=0.0ms idle=1233.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:12.600 [debug] QUERY OK source="settings" db=0.0ms idle=232.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:12.600 [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 [] 07:26:12.600 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:26:12.601 [info] Sent 200 in 2ms 07:26:17.599 [info] GET /sources/17/media/12960 07:26:17.599 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12960", "prevent_download" => "true", "source_id" => "17"} Pipelines: [:browser] 07:26:17.600 [debug] QUERY OK source="media_items" db=0.1ms idle=1488.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" = ?) [12960] 07:26:17.600 [debug] QUERY OK source="tasks" db=0.1ms idle=1488.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [12960] 07:26:17.600 [debug] QUERY OK source="sources" db=0.2ms idle=1488.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 07:26:17.601 [debug] QUERY OK source="settings" db=0.0ms idle=1226.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:17.601 [debug] QUERY OK source="settings" db=0.0ms idle=225.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:17.601 [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 [] 07:26:17.602 [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] 07:26:17.602 [info] Sent 200 in 3ms 07:26:23.000 [info] {"source":"oban","duration":8149,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:26:23.145 [info] GET /sources/38/media/2195118/edit 07:26:23.145 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2195118", "source_id" => "38"} Pipelines: [:browser] 07:26:23.146 [debug] QUERY OK source="media_items" db=0.2ms idle=763.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" = ?) [2195118] 07:26:23.146 [debug] QUERY OK source="settings" db=0.1ms idle=146.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:23.146 [debug] QUERY OK source="settings" db=0.1ms idle=35.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:23.146 [debug] QUERY OK source="settings" db=0.1ms idle=35.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:23.147 [info] Sent 200 in 2ms 07:26:26.762 [info] GET /sources/57/media/2680277 07:26:26.762 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2680277", "source_id" => "57"} Pipelines: [:browser] 07:26:26.762 [debug] QUERY OK source="media_items" db=0.2ms idle=1651.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" = ?) [2680277] 07:26:26.763 [debug] QUERY OK source="sources" db=0.1ms idle=1651.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:26:26.763 [debug] QUERY OK source="tasks" db=0.3ms idle=1651.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2680277] 07:26:26.764 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=1375.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [359179, 359186, 361443, 361449, 363456, 363462, 365448, 365454, 367348, 367354, 369640, 369646, 371953, 371960, 374256, 374262, 376520, 376526, 378373, 378379, 380203, 380209, 382156, 382162, 384431, 384437, 386738, 386745, 389020, 389026, 391293, 391299, 393174, 395075, 395081, 396978, 399285, 401608, 403889, 406083, 407974, 409969, 411820, 414064, 416344, 418619] 07:26:26.764 [debug] QUERY OK source="settings" db=0.0ms idle=374.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:26.764 [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 [] 07:26:26.765 [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 [] 07:26:26.765 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:26:26.769 [info] Sent 200 in 7ms 07:26:31.677 [info] GET /sources/52/media/2336566/edit 07:26:31.677 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2336566", "source_id" => "52"} Pipelines: [:browser] 07:26:31.677 [debug] QUERY OK source="media_items" db=0.1ms idle=1566.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" = ?) [2336566] 07:26:31.678 [debug] QUERY OK source="settings" db=0.1ms idle=1566.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:31.678 [debug] QUERY OK source="settings" db=0.0ms idle=1566.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:31.678 [debug] QUERY OK source="settings" db=0.0ms idle=1282.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:31.679 [info] Sent 200 in 2ms 07:26:36.682 [info] GET /sources/57/media/2161658 07:26:36.682 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2161658", "source_id" => "57"} Pipelines: [:browser] 07:26:36.682 [debug] QUERY OK source="media_items" db=0.1ms idle=1571.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" = ?) [2161658] 07:26:36.683 [debug] QUERY OK source="tasks" db=0.3ms idle=1571.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2161658] 07:26:36.683 [debug] QUERY OK source="sources" db=0.3ms idle=1571.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:26:36.684 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1281.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [359181, 361444, 363457, 365449, 367349, 369641, 371955, 374257, 376521, 378374, 380204, 382157, 384432, 386740, 389021, 391294, 393175, 395076, 396979, 399286, 401609, 403890, 406084, 407969, 409964, 411815, 414059, 416339, 418614] 07:26:36.684 [debug] QUERY OK source="settings" db=0.0ms idle=280.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:26:36.684 [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 [] 07:26:36.685 [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 [] 07:26:36.685 [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] 07:26:36.688 [info] Sent 200 in 5ms 07:26:53.008 [info] {"source":"oban","duration":7788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:00.053 [info] {"source":"oban","duration":156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:27:02.331 [info] GET /sources/57/media/2680277/edit 07:27:02.331 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2680277", "source_id" => "57"} Pipelines: [:browser] 07:27:02.332 [debug] QUERY OK source="media_items" db=0.1ms idle=1220.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" = ?) [2680277] 07:27:02.332 [debug] QUERY OK source="settings" db=0.1ms idle=888.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:02.332 [debug] QUERY OK source="settings" db=0.1ms idle=221.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:02.333 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:27:02.333 [info] Sent 200 in 2ms 07:27:07.239 [info] GET /sources/new 07:27:07.240 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "32"} Pipelines: [:browser] 07:27:07.240 [debug] QUERY OK source="sources" db=0.2ms idle=1129.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:27:07.240 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1129.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" [] 07:27:07.241 [debug] QUERY OK source="settings" db=0.1ms idle=1129.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:07.241 [debug] QUERY OK source="settings" db=0.0ms idle=1129.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:07.241 [debug] QUERY OK source="settings" db=0.0ms idle=787.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:07.241 [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 [] 07:27:07.242 [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 [] 07:27:07.243 [info] Sent 200 in 3ms 07:27:12.239 [info] GET /sources/new 07:27:12.240 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "22"} Pipelines: [:browser] 07:27:12.240 [debug] QUERY OK source="sources" db=0.1ms idle=1129.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:27:12.240 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1129.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 07:27:12.241 [debug] QUERY OK source="settings" db=0.1ms idle=1129.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:12.241 [debug] QUERY OK source="settings" db=0.0ms idle=1129.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:12.241 [debug] QUERY OK source="settings" db=0.0ms idle=778.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:12.241 [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 [] 07:27:12.242 [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 [] 07:27:12.243 [info] Sent 200 in 3ms 07:27:23.016 [info] {"source":"oban","duration":7646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:43.968 [info] GET /sources/38/media/1850728 07:27:43.968 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1850728", "source_id" => "38"} Pipelines: [:browser] 07:27:43.969 [debug] QUERY OK source="media_items" db=0.1ms idle=1857.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" = ?) [1850728] 07:27:43.969 [debug] QUERY OK source="tasks" db=0.1ms idle=1858.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1850728] 07:27:43.969 [debug] QUERY OK source="sources" db=0.2ms idle=1858.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:27:43.969 [debug] QUERY OK source="settings" db=0.0ms idle=1457.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:43.969 [debug] QUERY OK source="settings" db=0.0ms idle=455.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:43.970 [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 [] 07:27:43.970 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:27:43.971 [info] Sent 200 in 2ms 07:27:48.635 [info] GET /sources/43/media/2790678 07:27:48.635 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2790678", "source_id" => "43"} Pipelines: [:browser] 07:27:48.635 [debug] QUERY OK source="media_items" db=0.2ms idle=1523.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" = ?) [2790678] 07:27:48.636 [debug] QUERY OK source="tasks" db=0.1ms idle=1524.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2790678] 07:27:48.636 [debug] QUERY OK source="sources" db=0.2ms idle=1524.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:27:48.636 [debug] QUERY OK source="settings" db=0.0ms idle=1115.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:48.636 [debug] QUERY OK source="settings" db=0.0ms idle=114.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:48.637 [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 [] 07:27:48.637 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:27:48.638 [info] Sent 200 in 3ms 07:27:53.024 [info] {"source":"oban","duration":7382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:53.645 [info] GET /sources/32/media/1227395 07:27:53.645 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227395", "source_id" => "32"} Pipelines: [:browser] 07:27:53.645 [debug] QUERY OK source="media_items" db=0.1ms idle=1534.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" = ?) [1227395] 07:27:53.646 [debug] QUERY OK source="tasks" db=0.2ms idle=1116.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1227395] 07:27:53.646 [debug] QUERY OK source="sources" db=0.3ms idle=1535.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:27:53.646 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=622.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?)) [349721, 376498, 403873] 07:27:53.647 [debug] QUERY OK source="settings" db=0.0ms idle=115.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:53.647 [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 [] 07:27:53.647 [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 [] 07:27:53.648 [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] 07:27:53.649 [info] Sent 200 in 3ms 07:27:58.941 [info] GET /sources/52/media/2720968/force_download 07:27:58.941 [debug] QUERY OK source="settings" db=0.1ms idle=1829.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:58.941 [debug] QUERY OK source="settings" db=0.0ms idle=1830.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:27:58.941 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:27:58.942 [error] #PID<0.1179273.0> running PinchflatWeb.Endpoint (connection #PID<0.1179274.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/2720968/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/2720968/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2720968/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47374}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179273.0>, params: %{}, path_info: ["sources", "52", "media", "2720968", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/2720968/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NBLmQVnnrcx0CQgkB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2720968/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47374}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/52/media/2720968/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2720968/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47374}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179273.0>, params: %{}, path_info: ["sources", "52", "media", "2720968", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:28:00.054 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:28:02.464 [info] GET /sources/52/media/2352190/force_download 07:28:02.464 [debug] QUERY OK source="settings" db=0.1ms idle=1353.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:02.465 [debug] QUERY OK source="settings" db=0.0ms idle=1353.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:02.465 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:28:02.465 [error] #PID<0.1179266.0> running PinchflatWeb.Endpoint (connection #PID<0.1179274.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/2352190/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/2352190/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2352190/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47374}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179266.0>, params: %{}, path_info: ["sources", "52", "media", "2352190", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/2352190/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NBYuRgaBw7ksBdNMC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2352190/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47374}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/52/media/2352190/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2352190/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47374}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179266.0>, params: %{}, path_info: ["sources", "52", "media", "2352190", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:28:07.385 [info] GET /sources/32/media/1227402/force_download 07:28:07.385 [debug] QUERY OK source="settings" db=0.1ms idle=1274.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:07.385 [debug] QUERY OK source="settings" db=0.0ms idle=1274.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:07.386 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:28:07.386 [error] #PID<0.1179265.0> running PinchflatWeb.Endpoint (connection #PID<0.1179274.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/1227402/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/32/media/1227402/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/1227402/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47374}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179265.0>, params: %{}, path_info: ["sources", "32", "media", "1227402", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/1227402/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NBrDfjP3G2d0BdNNC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/1227402/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47374}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/32/media/1227402/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/1227402/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47374}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179265.0>, params: %{}, path_info: ["sources", "32", "media", "1227402", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:28:12.387 [info] GET /media_profiles/new 07:28:12.388 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{"template_id" => "3"} Pipelines: [:browser] 07:28:12.388 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1276.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 07:28:12.388 [debug] QUERY OK source="settings" db=0.1ms idle=1277.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:12.389 [debug] QUERY OK source="settings" db=0.1ms idle=1277.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:12.389 [debug] QUERY OK source="settings" db=0.0ms idle=832.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:12.389 [debug] QUERY OK source="settings" db=0.0ms idle=278.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:12.390 [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 [] 07:28:12.391 [info] Sent 200 in 3ms 07:28:21.892 [info] GET /sources/52/media/1301393/force_download 07:28:21.893 [debug] QUERY OK source="settings" db=0.1ms idle=1781.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:21.893 [debug] QUERY OK source="settings" db=0.0ms idle=1782.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:21.893 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:28:21.893 [error] #PID<0.1179279.0> running PinchflatWeb.Endpoint (connection #PID<0.1179280.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/1301393/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/1301393/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/1301393/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179279.0>, params: %{}, path_info: ["sources", "52", "media", "1301393", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/1301393/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NChGV8D4kqUYCQgnB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/1301393/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/52/media/1301393/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/1301393/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179279.0>, params: %{}, path_info: ["sources", "52", "media", "1301393", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:28:23.030 [info] {"source":"oban","duration":5328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:26.777 [info] GET /sources/38/media/2074959/force_download 07:28:26.778 [debug] QUERY OK source="settings" db=0.2ms idle=1199.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:26.778 [debug] QUERY OK source="settings" db=0.0ms idle=667.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:26.778 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:28:26.778 [error] #PID<0.1179281.0> running PinchflatWeb.Endpoint (connection #PID<0.1179280.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/38/media/2074959/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/38/media/2074959/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/38/media/2074959/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179281.0>, params: %{}, path_info: ["sources", "38", "media", "2074959", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/38/media/2074959/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NCzS-P8sGyToBdNPC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/38/media/2074959/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/38/media/2074959/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/38/media/2074959/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 53468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179281.0>, params: %{}, path_info: ["sources", "38", "media", "2074959", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:28:33.882 [info] GET /sources/26/media/327254/force_download 07:28:33.883 [debug] QUERY OK source="settings" db=0.1ms idle=1771.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:33.883 [debug] QUERY OK source="settings" db=0.0ms idle=1772.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:33.883 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:28:33.883 [error] #PID<0.1179282.0> running PinchflatWeb.Endpoint (connection #PID<0.1179283.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/26/media/327254/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/26/media/327254/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179283.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/26/media/327254/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50978}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179282.0>, params: %{}, path_info: ["sources", "26", "media", "327254", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/26/media/327254/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NDNw9jeKuwIECQgoB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179283.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/26/media/327254/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50978}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/26/media/327254/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179283.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/26/media/327254/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50978}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179282.0>, params: %{}, path_info: ["sources", "26", "media", "327254", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", (truncated) 07:28:38.674 [info] GET /sources/55/media/1901240/force_download 07:28:38.674 [debug] QUERY OK source="settings" db=0.1ms idle=1563.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:38.675 [debug] QUERY OK source="settings" db=0.0ms idle=1080.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:38.675 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:28:38.675 [error] #PID<0.1179285.0> running PinchflatWeb.Endpoint (connection #PID<0.1179283.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/55/media/1901240/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/55/media/1901240/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179283.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/1901240/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50978}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179285.0>, params: %{}, path_info: ["sources", "55", "media", "1901240", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/55/media/1901240/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NDfnY0xi4PQUBdNQC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179283.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/1901240/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50978}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/media/1901240/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179283.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/1901240/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50978}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179285.0>, params: %{}, path_info: ["sources", "55", "media", "1901240", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:28:43.684 [info] GET /sources/22/media/811286/force_download 07:28:43.684 [debug] QUERY OK source="settings" db=0.2ms idle=1573.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:43.684 [debug] QUERY OK source="settings" db=0.1ms idle=1573.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:43.684 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:28:43.685 [error] #PID<0.1179287.0> running PinchflatWeb.Endpoint (connection #PID<0.1179284.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/22/media/811286/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/22/media/811286/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179284.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/811286/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 41454}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179287.0>, params: %{}, path_info: ["sources", "22", "media", "811286", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/22/media/811286/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NDyRzHLBBdckCQgpB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179284.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/811286/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 41454}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/22/media/811286/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179284.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/media/811286/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 41454}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179287.0>, params: %{}, path_info: ["sources", "22", "media", "811286", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", (truncated) 07:28:49.484 [info] GET /sources/32/media/2717925/force_download 07:28:49.484 [debug] QUERY OK source="settings" db=0.2ms idle=1373.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:49.484 [debug] QUERY OK source="settings" db=0.1ms idle=1373.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:49.484 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:28:49.485 [error] #PID<0.1179290.0> running PinchflatWeb.Endpoint (connection #PID<0.1179289.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/2717925/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/32/media/2717925/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179289.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2717925/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 41468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179290.0>, params: %{}, path_info: ["sources", "32", "media", "2717925", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/2717925/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NEH4nkNrbZLoCQgrB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179289.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2717925/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 41468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/32/media/2717925/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179289.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2717925/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 41468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179290.0>, params: %{}, path_info: ["sources", "32", "media", "2717925", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:28:53.036 [info] {"source":"oban","duration":5924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:54.346 [info] GET /sources/57/media/2303892/force_download 07:28:54.347 [debug] QUERY OK source="settings" db=0.1ms idle=1236.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:54.347 [debug] QUERY OK source="settings" db=0.0ms idle=1236.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:54.347 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:28:54.347 [error] #PID<0.1179292.0> running PinchflatWeb.Endpoint (connection #PID<0.1179289.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/2303892/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/2303892/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179289.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2303892/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 41468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179292.0>, params: %{}, path_info: ["sources", "57", "media", "2303892", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/2303892/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NEZ__W_ybNMUCQgsB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179289.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2303892/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 41468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/57/media/2303892/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179289.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2303892/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 41468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179292.0>, params: %{}, path_info: ["sources", "57", "media", "2303892", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:28:59.349 [info] GET /sources/32/media/2725711/force_download 07:28:59.350 [debug] QUERY OK source="settings" db=0.1ms idle=1238.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:59.350 [debug] QUERY OK source="settings" db=0.0ms idle=1239.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:28:59.350 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:28:59.350 [error] #PID<0.1179291.0> running PinchflatWeb.Endpoint (connection #PID<0.1179289.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/2725711/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/32/media/2725711/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179289.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2725711/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 41468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179291.0>, params: %{}, path_info: ["sources", "32", "media", "2725711", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/2725711/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NEsoxmuJmf9ACQgtB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179289.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2725711/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 41468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/32/media/2725711/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179289.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2725711/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 41468}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179291.0>, params: %{}, path_info: ["sources", "32", "media", "2725711", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:29:00.055 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:29:04.969 [info] GET /sources/57/media/2343210/force_download 07:29:04.969 [debug] QUERY OK source="settings" db=0.1ms idle=1858.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:29:04.969 [debug] QUERY OK source="settings" db=0.0ms idle=1858.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:29:04.969 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:29:04.969 [error] #PID<0.1179293.0> running PinchflatWeb.Endpoint (connection #PID<0.1179294.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/2343210/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/2343210/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179294.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2343210/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34130}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179293.0>, params: %{}, path_info: ["sources", "57", "media", "2343210", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/2343210/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NFBkgXbI3K8IBdNRC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179294.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2343210/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34130}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/media/2343210/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179294.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2343210/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34130}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179293.0>, params: %{}, path_info: ["sources", "57", "media", "2343210", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:29:09.889 [info] GET /media/5203f5fd-d491-4dbc-9a7d-9f191b07436f/stream 07:29:09.889 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "5203f5fd-d491-4dbc-9a7d-9f191b07436f"} Pipelines: [:maybe_basic_auth] 07:29:09.890 [debug] QUERY OK source="media_items" db=0.9ms idle=1778.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["5203f5fd-d491-4dbc-9a7d-9f191b07436f"] 07:29:09.890 [debug] Invalid range request for media item: 5203f5fd-d491-4dbc-9a7d-9f191b07436f - serving full file 07:29:09.890 [info] Sent 200 in 1ms 07:29:14.892 [info] GET /sources/52/media/2336566/force_download 07:29:14.893 [debug] QUERY OK source="settings" db=0.1ms idle=1735.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:29:14.893 [debug] QUERY OK source="settings" db=0.1ms idle=1736.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:29:14.893 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:29:14.893 [error] #PID<0.1179304.0> running PinchflatWeb.Endpoint (connection #PID<0.1179294.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/2336566/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/2336566/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179294.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2336566/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34130}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179304.0>, params: %{}, path_info: ["sources", "52", "media", "2336566", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/2336566/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NFmifcI_OX6cCQgvB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179294.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2336566/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34130}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/52/media/2336566/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179294.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2336566/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34130}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179304.0>, params: %{}, path_info: ["sources", "52", "media", "2336566", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:29:21.307 [info] GET /media/f96307fc-80ee-4764-8be4-a9eb7d291a3c/stream 07:29:21.307 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "f96307fc-80ee-4764-8be4-a9eb7d291a3c"} Pipelines: [:maybe_basic_auth] 07:29:21.309 [debug] QUERY OK source="media_items" db=1.5ms idle=1151.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["f96307fc-80ee-4764-8be4-a9eb7d291a3c"] 07:29:21.309 [debug] Invalid range request for media item: f96307fc-80ee-4764-8be4-a9eb7d291a3c - serving full file 07:29:21.309 [info] Sent 200 in 1ms 07:29:23.043 [info] {"source":"oban","duration":5519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:27.017 [info] GET /sources/55/media/2786833/force_download 07:29:27.017 [debug] QUERY OK source="settings" db=0.1ms idle=1216.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:29:27.017 [debug] QUERY OK source="settings" db=0.1ms idle=860.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:29:27.017 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 07:29:27.018 [error] #PID<0.1179309.0> running PinchflatWeb.Endpoint (connection #PID<0.1179302.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/55/media/2786833/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/55/media/2786833/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179302.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/2786833/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55508}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179309.0>, params: %{}, path_info: ["sources", "55", "media", "2786833", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/55/media/2786833/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2NGTtJ85BrZ5YBdNUC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179302.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/2786833/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55508}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/media/2786833/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179302.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/2786833/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55508}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179309.0>, params: %{}, path_info: ["sources", "55", "media", "2786833", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 07:29:44.083 [info] GET /sources/52/media/1301393 07:29:44.083 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1301393", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 07:29:44.083 [debug] QUERY OK source="media_items" db=0.1ms idle=1926.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" = ?) [1301393] 07:29:44.084 [debug] QUERY OK source="sources" db=0.2ms idle=1926.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:29:44.092 [debug] QUERY OK source="tasks" db=8.1ms idle=1926.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1301393] 07:29:44.130 [debug] QUERY OK source="oban_jobs" db=23.8ms idle=1279.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? (truncated) 07:29:44.171 [debug] QUERY OK source="settings" db=0.1ms idle=342.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:29:44.171 [debug] QUERY OK source="settings" db=0.0ms idle=87.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:29:44.171 [debug] QUERY OK source="settings" db=0.1ms idle=87.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:29:44.172 [debug] QUERY OK source="media_profiles" db=0.0ms idle=80.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] 07:29:44.403 [info] Sent 200 in 319ms 07:29:49.255 [info] GET /media/d0092349-49c9-4ce3-bd48-6fd84eb45397/stream 07:29:49.255 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "d0092349-49c9-4ce3-bd48-6fd84eb45397"} Pipelines: [:maybe_basic_auth] 07:29:49.257 [debug] QUERY OK source="media_items" db=0.9ms idle=1098.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["d0092349-49c9-4ce3-bd48-6fd84eb45397"] 07:29:49.257 [debug] Invalid range request for media item: d0092349-49c9-4ce3-bd48-6fd84eb45397 - serving full file 07:29:49.257 [info] Sent 200 in 1ms 07:29:53.049 [info] {"source":"oban","duration":5811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:00.056 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:30:23.056 [info] {"source":"oban","duration":5036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:41.941 [info] GET /sources/43/media/2805841 07:30:41.941 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2805841", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 07:30:41.942 [debug] QUERY OK source="media_items" db=0.2ms idle=1784.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" = ?) [2805841] 07:30:41.942 [debug] QUERY OK source="tasks" db=0.1ms idle=1785.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2805841] 07:30:41.942 [debug] QUERY OK source="sources" db=0.2ms idle=1785.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:30:41.943 [debug] QUERY OK source="settings" db=0.0ms idle=1028.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:30:41.943 [debug] QUERY OK source="settings" db=0.0ms idle=26.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:30:41.943 [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 [] 07:30:41.944 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:30:41.944 [info] Sent 200 in 3ms 07:30:46.646 [info] GET /sources/32/media/2686045 07:30:46.646 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2686045", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 07:30:46.647 [debug] QUERY OK source="media_items" db=0.1ms idle=1490.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" = ?) [2686045] 07:30:46.648 [debug] QUERY OK source="sources" db=0.2ms idle=1490.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:30:46.648 [debug] QUERY OK source="tasks" db=0.2ms idle=1490.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2686045] 07:30:46.648 [debug] QUERY OK source="settings" db=0.0ms idle=1491.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:30:46.648 [debug] QUERY OK source="settings" db=0.0ms idle=727.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:30:46.648 [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 [] 07:30:46.649 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:30:46.650 [info] Sent 200 in 3ms 07:30:53.062 [info] {"source":"oban","duration":5514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:30:53.156 [info] GET /sources/57/media/2569752 07:30:53.156 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2569752", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 07:30:53.157 [debug] QUERY OK source="media_items" db=0.8ms idle=999.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" = ?) [2569752] 07:30:53.158 [debug] QUERY OK source="tasks" db=0.2ms idle=1000.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2569752] 07:30:53.158 [debug] QUERY OK source="sources" db=0.7ms idle=1000.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:30:53.159 [debug] QUERY OK source="settings" db=0.5ms idle=229.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:30:53.159 [debug] QUERY OK source="settings" db=0.0ms idle=97.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:30:53.160 [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 [] 07:30:53.160 [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] 07:30:53.161 [info] Sent 200 in 4ms 07:30:57.964 [info] GET /sources/32/media/2817516 07:30:57.964 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2817516", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 07:30:57.965 [debug] QUERY OK source="media_items" db=0.2ms idle=807.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" = ?) [2817516] 07:30:57.965 [debug] QUERY OK source="tasks" db=0.1ms idle=808.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2817516] 07:30:57.965 [debug] QUERY OK source="sources" db=0.2ms idle=808.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:30:57.965 [debug] QUERY OK source="settings" db=0.0ms idle=808.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:30:57.966 [debug] QUERY OK source="settings" db=0.0ms idle=28.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:30:57.966 [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 [] 07:30:57.966 [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] 07:30:57.967 [info] Sent 200 in 3ms 07:31:00.057 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:31:05.067 [info] GET /sources/52/media/1301396 07:31:05.067 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1301396", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 07:31:05.068 [debug] QUERY OK source="media_items" db=0.1ms idle=1911.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" = ?) [1301396] 07:31:05.068 [debug] QUERY OK source="tasks" db=0.1ms idle=1911.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1301396] 07:31:05.068 [debug] QUERY OK source="sources" db=0.2ms idle=1911.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:31:05.069 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1121.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?)) [348599, 374569, 400556] 07:31:05.069 [debug] QUERY OK source="settings" db=0.1ms idle=120.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:31:05.069 [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 [] 07:31:05.070 [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 [] 07:31:05.070 [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] 07:31:05.071 [info] Sent 200 in 3ms 07:31:09.835 [info] GET /sources/57/media/2787403 07:31:09.835 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2787403", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 07:31:09.836 [debug] QUERY OK source="media_items" db=0.1ms idle=1678.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" = ?) [2787403] 07:31:09.836 [debug] QUERY OK source="sources" db=0.2ms idle=1678.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:31:09.836 [debug] QUERY OK source="tasks" db=0.4ms idle=1678.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2787403] 07:31:09.837 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=1679.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [359178, 359187, 361442, 361450, 363455, 363463, 365447, 365455, 367347, 367355, 369639, 369647, 371952, 371961, 374255, 374263, 376519, 376527, 378372, 378380, 380202, 380210, 382155, 382163, 384430, 384438, 386737, 386746, 389019, 389027, 391292, 391300, 393173, 393180, 395073, 395082, 396977, 399284, 399291, 401607, 401614, 403888, 403895, 406082, 406089, 407968, 407975, 409963, 409970, 411814, ...] 07:31:09.838 [debug] QUERY OK source="settings" db=0.0ms idle=882.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:31:09.838 [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 [] 07:31:09.838 [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 [] 07:31:09.839 [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] 07:31:09.843 [info] Sent 200 in 7ms 07:31:19.498 [info] GET /sources/52/media/2326463 07:31:19.498 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2326463", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 07:31:19.498 [debug] QUERY OK source="media_items" db=0.2ms idle=531.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2326463] 07:31:19.499 [debug] QUERY OK source="tasks" db=0.1ms idle=342.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2326463] 07:31:19.499 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:31:19.499 [debug] QUERY OK source="settings" db=0.0ms idle=342.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:31:19.499 [debug] QUERY OK source="settings" db=0.0ms idle=342.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:31:19.500 [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 [] 07:31:19.500 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:31:19.501 [info] Sent 200 in 2ms 07:31:23.071 [info] {"source":"oban","duration":8004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:24.401 [info] GET /sources/32/media/2606006 07:31:24.401 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2606006", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 07:31:24.401 [debug] QUERY OK source="media_items" db=0.1ms idle=1244.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" = ?) [2606006] 07:31:24.401 [debug] QUERY OK source="tasks" db=0.1ms idle=1244.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2606006] 07:31:24.401 [debug] QUERY OK source="sources" db=0.1ms idle=1244.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:31:24.402 [debug] QUERY OK source="settings" db=0.0ms idle=428.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:31:24.402 [debug] QUERY OK source="settings" db=0.0ms idle=245.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:31:24.402 [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 [] 07:31:24.403 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:31:24.403 [info] Sent 200 in 2ms 07:31:29.696 [info] GET /sources/52/media/1301400 07:31:29.696 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1301400", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 07:31:29.697 [debug] QUERY OK source="media_items" db=0.2ms idle=1539.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" = ?) [1301400] 07:31:29.697 [debug] QUERY OK source="sources" db=0.2ms idle=1540.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:31:29.706 [debug] QUERY OK source="tasks" db=9.3ms idle=1540.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1301400] 07:31:29.748 [debug] QUERY OK source="oban_jobs" db=27.4ms idle=1563.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? (truncated) 07:31:29.788 [debug] QUERY OK source="settings" db=0.1ms idle=806.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:31:29.789 [debug] QUERY OK source="settings" db=0.0ms idle=91.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:31:29.789 [debug] QUERY OK source="settings" db=0.0ms idle=91.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:31:29.789 [debug] QUERY OK source="media_profiles" db=0.0ms idle=82.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] 07:31:30.020 [info] Sent 200 in 323ms 07:31:34.586 [info] GET /sources/32/media/1227397 07:31:34.587 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227397", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 07:31:34.587 [debug] QUERY OK source="media_items" db=0.1ms idle=1430.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" = ?) [1227397] 07:31:34.587 [debug] QUERY OK source="tasks" db=0.1ms idle=1430.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1227397] 07:31:34.588 [debug] QUERY OK source="sources" db=0.2ms idle=1430.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:31:34.588 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1431.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?)) [349723, 376500, 403875] 07:31:34.588 [debug] QUERY OK source="settings" db=0.0ms idle=596.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:31:34.588 [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 [] 07:31:34.589 [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 [] 07:31:34.589 [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] 07:31:34.590 [info] Sent 200 in 3ms 07:31:43.303 [info] GET /sources/52/media/1301392 07:31:43.303 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1301392", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 07:31:43.304 [debug] QUERY OK source="media_items" db=0.2ms idle=1146.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" = ?) [1301392] 07:31:43.304 [debug] QUERY OK source="sources" db=0.1ms idle=1146.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:31:43.309 [debug] QUERY OK source="tasks" db=5.2ms idle=1146.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1301392] 07:31:43.347 [debug] QUERY OK source="oban_jobs" db=23.5ms idle=1166.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? (truncated) 07:31:43.390 [debug] QUERY OK source="settings" db=0.1ms idle=382.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:31:43.390 [debug] QUERY OK source="settings" db=0.0ms 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 [] 07:31:43.391 [debug] QUERY OK source="settings" db=0.0ms idle=86.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:31:43.391 [debug] QUERY OK source="media_profiles" db=0.0ms idle=81.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:31:43.623 [info] Sent 200 in 319ms 07:31:47.993 [info] GET /sources/32/media/1227396 07:31:47.993 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227396", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 07:31:47.994 [debug] QUERY OK source="media_items" db=0.7ms idle=980.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" = ?) [1227396] 07:31:47.995 [debug] QUERY OK source="sources" db=0.2ms idle=838.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:31:47.995 [debug] QUERY OK source="tasks" db=0.2ms idle=837.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1227396] 07:31:47.995 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=838.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?)) [349722, 376499, 403874] 07:31:47.996 [debug] QUERY OK source="settings" db=0.0ms idle=839.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:31:47.996 [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 [] 07:31:47.996 [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 [] 07:31:47.997 [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] 07:31:47.997 [info] Sent 200 in 4ms 07:31:53.077 [info] {"source":"oban","duration":5292,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:00.058 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:32:23.083 [info] {"source":"oban","duration":5303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:32.205 [info] GET /sources/52/media/2352190 07:32:32.205 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2352190", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 07:32:32.205 [debug] QUERY OK source="media_items" db=0.1ms idle=1048.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" = ?) [2352190] 07:32:32.205 [debug] QUERY OK source="tasks" db=0.0ms idle=1048.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2352190] 07:32:32.206 [debug] QUERY OK source="sources" db=0.1ms idle=1048.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:32:32.206 [debug] QUERY OK source="settings" db=0.0ms idle=118.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:32:32.206 [debug] QUERY OK source="settings" db=0.0ms idle=49.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:32:32.206 [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 [] 07:32:32.207 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:32:32.208 [info] Sent 200 in 3ms 07:32:36.933 [info] GET /sources/32/media/1227401 07:32:36.933 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227401", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 07:32:36.933 [debug] QUERY OK source="media_items" db=0.1ms idle=837.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" = ?) [1227401] 07:32:36.934 [debug] QUERY OK source="sources" db=0.2ms idle=776.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:32:36.934 [debug] QUERY OK source="tasks" db=0.2ms idle=776.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1227401] 07:32:36.934 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=777.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?)) [349726, 376503, 403878] 07:32:36.935 [debug] QUERY OK source="settings" db=0.0ms idle=777.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:32:36.935 [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 [] 07:32:36.935 [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 [] 07:32:36.936 [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] 07:32:36.937 [info] Sent 200 in 3ms 07:32:42.082 [info] GET /sources/32/media/1227402 07:32:42.082 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227402", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 07:32:42.082 [debug] QUERY OK source="media_items" db=0.1ms idle=1925.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" = ?) [1227402] 07:32:42.083 [debug] QUERY OK source="tasks" db=0.1ms idle=1925.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1227402] 07:32:42.083 [debug] QUERY OK source="sources" db=0.2ms idle=1925.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:32:42.083 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1926.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?)) [349727, 376504, 406069] 07:32:42.084 [debug] QUERY OK source="settings" db=0.0ms idle=980.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:32:42.084 [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 [] 07:32:42.084 [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 [] 07:32:42.084 [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] 07:32:42.085 [info] Sent 200 in 3ms 07:32:47.016 [info] GET /sources/38/media/2074959 07:32:47.016 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2074959", "prevent_download" => "true", "source_id" => "38"} Pipelines: [:browser] 07:32:47.016 [debug] QUERY OK source="media_items" db=0.1ms idle=1859.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" = ?) [2074959] 07:32:47.017 [debug] QUERY OK source="tasks" db=0.1ms idle=1859.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2074959] 07:32:47.017 [debug] QUERY OK source="sources" db=0.2ms idle=1859.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:32:47.017 [debug] QUERY OK source="settings" db=0.0ms idle=1860.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:32:47.017 [debug] QUERY OK source="settings" db=0.0ms idle=906.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:32:47.018 [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 [] 07:32:47.018 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:32:47.019 [info] Sent 200 in 3ms 07:32:53.090 [info] {"source":"oban","duration":6095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:33:00.059 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:33:12.162 [info] {"args":{"id":3012876},"id":419779,"meta":{},"system_time":1782736392162560906,"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"]} 07:33:12.163 [debug] QUERY OK source="media_items" db=0.1ms 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" = ?) [3012876] 07:33:12.163 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:33:12.163 [debug] QUERY OK source="sources" db=0.1ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:33:12.163 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:33:12.165 [debug] QUERY OK source="media_items" db=1.8ms 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 [3012876] 07:33:12.166 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.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" = ?) [3012876] 07:33:12.167 [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] 07:33:12.167 [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 [] 07:33:12.167 [debug] QUERY OK source="settings" db=0.0ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:12.167 [debug] Running yt-dlp command for action: get_downloadable_status 07:33:12.168 [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 [] 07:33:12.168 [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 [] 07:33:12.168 [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 [] 07:33:12.168 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/44/e94466d10a66ca364dc99433c8fb45973d94111b47bf47fbd7eaac6c4ef52a2c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:33:13.906 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/44/e94466d10a66ca364dc99433c8fb45973d94111b47bf47fbd7eaac6c4ef52a2c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:33:13.906 [error] yt-dlp download error for media item #3012876: "ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:33:13.906 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3012876},"id":419779,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1743812,"event":"job:exception","queue_time":175451,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:33:15.700 [info] GET /sources/22/media/811286 07:33:15.700 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "811286", "prevent_download" => "true", "source_id" => "22"} Pipelines: [:browser] 07:33:15.700 [debug] QUERY OK source="media_items" db=0.2ms idle=1542.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" = ?) [811286] 07:33:15.700 [debug] QUERY OK source="tasks" db=0.1ms idle=1540.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [811286] 07:33:15.701 [debug] QUERY OK source="sources" db=0.2ms idle=543.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:33:15.701 [debug] QUERY OK source="settings" db=0.0ms idle=543.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:15.701 [debug] QUERY OK source="settings" db=0.0ms idle=538.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:15.701 [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 [] 07:33:15.702 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:33:15.703 [info] Sent 200 in 3ms 07:33:19.178 [info] {"args":{"id":1012059},"id":392563,"meta":{},"system_time":1782736399178380068,"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"]} 07:33:19.178 [debug] QUERY OK source="media_items" db=0.2ms idle=21.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" = ?) [1012059] 07:33:19.178 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:33:19.179 [debug] QUERY OK source="sources" db=0.2ms idle=21.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:33:19.179 [debug] QUERY OK source="media_profiles" db=0.2ms idle=22.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:33:19.180 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1012059] 07:33:19.181 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1012059] 07:33:19.181 [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] 07:33:19.182 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:19.182 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:19.182 [debug] Running yt-dlp command for action: get_downloadable_status 07:33:19.183 [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 [] 07:33:19.183 [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 [] 07:33:19.183 [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 [] 07:33:19.184 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d3/5a/d35aca65fc43734e389ea9f1df9cb788663b8b79f3efbb57f5b69c1440a11325.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:33:20.617 [info] GET /sources/32/media/2725711 07:33:20.617 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2725711", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 07:33:20.618 [debug] QUERY OK source="media_items" db=0.1ms idle=1435.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" = ?) [2725711] 07:33:20.618 [debug] QUERY OK source="tasks" db=0.2ms idle=1435.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2725711] 07:33:20.618 [debug] QUERY OK source="sources" db=0.2ms idle=1434.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:33:20.619 [debug] QUERY OK source="settings" db=0.0ms idle=1435.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:20.619 [debug] QUERY OK source="settings" db=0.0ms idle=446.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:20.619 [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 [] 07:33:20.620 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:33:20.620 [info] Sent 200 in 3ms 07:33:20.963 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d3/5a/d35aca65fc43734e389ea9f1df9cb788663b8b79f3efbb57f5b69c1440a11325.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:33:20.963 [error] yt-dlp download error for media item #1012059: "ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:33:20.964 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012059},"id":392563,"meta":{},"state":"discard","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1785437,"event":"job:exception","queue_time":90589,"attempt":20,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:33:23.099 [info] {"source":"oban","duration":7747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:25.485 [info] GET /sources/55/media/1901240 07:33:25.485 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1901240", "prevent_download" => "true", "source_id" => "55"} Pipelines: [:browser] 07:33:25.485 [debug] QUERY OK source="media_items" db=0.2ms idle=1328.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" = ?) [1901240] 07:33:25.486 [debug] QUERY OK source="tasks" db=0.1ms idle=1328.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1901240] 07:33:25.486 [debug] QUERY OK source="sources" db=0.2ms idle=1328.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:33:25.486 [debug] QUERY OK source="settings" db=0.0ms idle=1307.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:25.486 [debug] QUERY OK source="settings" db=0.0ms idle=305.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:25.487 [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 [] 07:33:25.487 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:33:25.488 [info] Sent 200 in 3ms 07:33:32.689 [info] GET /sources/52/media/2720968 07:33:32.689 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2720968", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 07:33:32.690 [debug] QUERY OK source="media_items" db=0.1ms idle=1532.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" = ?) [2720968] 07:33:32.690 [debug] QUERY OK source="sources" db=0.3ms idle=1533.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:33:32.697 [debug] QUERY OK source="tasks" db=6.7ms idle=1533.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2720968] 07:33:32.739 [debug] QUERY OK source="oban_jobs" db=28.1ms idle=1519.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? (truncated) 07:33:32.780 [debug] QUERY OK source="settings" db=0.1ms idle=586.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:32.780 [debug] QUERY OK source="settings" db=0.0ms idle=90.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:32.780 [debug] QUERY OK source="settings" db=0.0ms idle=89.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:32.781 [debug] QUERY OK source="media_profiles" db=0.0ms idle=83.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:33:33.017 [info] Sent 200 in 327ms 07:33:38.223 [info] GET /sources/57/media/2303892 07:33:38.223 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2303892", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 07:33:38.224 [debug] QUERY OK source="media_items" db=0.1ms idle=66.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" = ?) [2303892] 07:33:38.224 [debug] QUERY OK source="tasks" db=0.1ms idle=66.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2303892] 07:33:38.224 [debug] QUERY OK source="sources" db=0.1ms idle=66.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:33:38.224 [debug] QUERY OK source="settings" db=0.1ms idle=67.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:38.224 [debug] QUERY OK source="settings" db=0.0ms idle=21.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:38.225 [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 [] 07:33:38.225 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:33:38.226 [info] Sent 200 in 2ms 07:33:39.211 [info] {"args":{"id":51},"id":419825,"meta":{},"system_time":1782736419211777587,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:33:39.212 [debug] QUERY OK source="sources" db=0.2ms idle=987.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:33:39.212 [debug] QUERY OK source="settings" db=0.2ms idle=987.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:39.213 [debug] QUERY OK source="media_profiles" db=0.8ms idle=987.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] 07:33:39.214 [debug] QUERY OK source="settings" db=1.0ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:39.214 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 07:33:39.405 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 07:33:39.405 [debug] QUERY OK source="media_items" db=0.4ms idle=193.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 07:33:39.406 [debug] QUERY OK source="media_items" db=0.3ms idle=193.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")))) [51] 07:33:39.407 [debug] QUERY OK source="tasks" db=0.1ms idle=192.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419839, 51, ~U[2026-06-29 12:33:39Z], ~U[2026-06-29 12:33:39Z]] 07:33:39.407 [info] {"args":{"id":51},"id":419825,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":195831,"event":"job:stop","queue_time":893035,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:33:43.079 [info] GET /sources/52/media/2336566 07:33:43.079 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2336566", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 07:33:43.079 [debug] QUERY OK source="media_items" db=0.2ms idle=1921.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" = ?) [2336566] 07:33:43.080 [debug] QUERY OK source="tasks" db=0.1ms idle=1922.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2336566] 07:33:43.080 [debug] QUERY OK source="sources" db=0.1ms idle=1922.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:33:43.080 [debug] QUERY OK source="settings" db=0.0ms idle=1870.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:43.080 [debug] QUERY OK source="settings" db=0.0ms idle=869.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:43.080 [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 [] 07:33:43.081 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:33:43.082 [info] Sent 200 in 2ms 07:33:47.945 [info] GET /sources/32/media/2717925 07:33:47.945 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2717925", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 07:33:47.945 [debug] QUERY OK source="media_items" db=0.2ms idle=1788.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" = ?) [2717925] 07:33:47.946 [debug] QUERY OK source="tasks" db=0.2ms idle=1788.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2717925] 07:33:47.946 [debug] QUERY OK source="sources" db=0.2ms idle=1788.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:33:47.946 [debug] QUERY OK source="settings" db=0.1ms idle=1728.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:47.946 [debug] QUERY OK source="settings" db=0.0ms idle=726.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:33:47.946 [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 [] 07:33:47.947 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:33:47.948 [info] Sent 200 in 3ms 07:33:53.108 [info] {"source":"oban","duration":8399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:34:00.060 [info] {"source":"oban","duration":144,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:34:06.905 [info] GET /sources/55/media/2786833 07:34:06.905 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2786833", "prevent_download" => "true", "source_id" => "55"} Pipelines: [:browser] 07:34:06.905 [debug] QUERY OK source="media_items" db=0.1ms idle=1748.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" = ?) [2786833] 07:34:06.906 [debug] QUERY OK source="tasks" db=0.0ms idle=1748.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2786833] 07:34:06.906 [debug] QUERY OK source="sources" db=0.2ms idle=1749.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:34:06.906 [debug] QUERY OK source="settings" db=0.0ms idle=1661.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:34:06.906 [debug] QUERY OK source="settings" db=0.0ms idle=659.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:34:06.907 [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 [] 07:34:06.907 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:34:06.908 [info] Sent 200 in 3ms 07:34:11.747 [info] GET /sources/57/media/2343210 07:34:11.748 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2343210", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 07:34:11.748 [debug] QUERY OK source="media_items" db=0.1ms idle=1591.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" = ?) [2343210] 07:34:11.748 [debug] QUERY OK source="tasks" db=0.0ms idle=1591.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2343210] 07:34:11.749 [debug] QUERY OK source="sources" db=0.2ms idle=1591.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:34:11.749 [debug] QUERY OK source="settings" db=0.0ms idle=1497.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:34:11.749 [debug] QUERY OK source="settings" db=0.0ms idle=494.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:34:11.749 [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 [] 07:34:11.750 [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] 07:34:11.751 [info] Sent 200 in 3ms 07:34:23.117 [info] {"source":"oban","duration":7569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:27.288 [info] {"args":{"id":3310514},"id":419389,"meta":{},"system_time":1782736467288742376,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:34:27.289 [debug] QUERY OK source="media_items" db=0.1ms idle=131.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" = ?) [3310514] 07:34:27.289 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:34:27.290 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [37] 07:34:27.290 [debug] QUERY OK source="media_profiles" db=0.5ms idle=132.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:34:27.291 [debug] QUERY OK source="media_items" db=0.1ms 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 [3310514] 07:34:27.292 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [3310514] 07:34:27.292 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:34:27.292 [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 [] 07:34:27.292 [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 [] 07:34:27.293 [debug] Running yt-dlp command for action: get_downloadable_status 07:34:27.294 [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 [] 07:34:27.294 [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 [] 07:34:27.294 [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 [] 07:34:27.294 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5paRa6E5rCM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4b/3c/4b3cebd30a75f37b3c89ec95c8d60042bdc0bdb2a9acbc5c59264d96c52eac57.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:34:28.991 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5paRa6E5rCM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4b/3c/4b3cebd30a75f37b3c89ec95c8d60042bdc0bdb2a9acbc5c59264d96c52eac57.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 5paRa6E5rCM: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:34:28.991 [error] yt-dlp download error for media item #3310514: "ERROR: [youtube] 5paRa6E5rCM: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:34:28.991 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3310514},"id":419389,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1702711,"event":"job:exception","queue_time":130418,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:34:53.125 [info] {"source":"oban","duration":7979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:00.061 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:35:22.371 [info] {"args":{"id":52},"id":419838,"meta":{},"system_time":1782736522371542510,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:35:22.371 [debug] QUERY OK source="sources" db=0.1ms idle=1007.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:35:22.372 [debug] QUERY OK source="settings" db=0.1ms idle=214.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:35:22.372 [debug] QUERY OK source="media_profiles" db=0.1ms idle=215.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:35:22.373 [debug] QUERY OK source="settings" db=0.6ms 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 [] 07:35:22.373 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 07:35:22.422 [debug] Media ids fetched from RSS: ["HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 07:35:22.423 [debug] QUERY OK source="media_items" db=0.5ms idle=51.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 07:35:22.424 [debug] QUERY OK source="media_items" db=0.8ms idle=51.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")))) [52] 07:35:22.427 [debug] QUERY OK source="tasks" db=0.1ms idle=54.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419840, 1301334, ~U[2026-06-29 12:35:22Z], ~U[2026-06-29 12:35:22Z]] 07:35:22.430 [debug] QUERY OK source="tasks" db=0.2ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419841, 1301335, ~U[2026-06-29 12:35:22Z], ~U[2026-06-29 12:35:22Z]] 07:35:22.432 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419842, 1301347, ~U[2026-06-29 12:35:22Z], ~U[2026-06-29 12:35:22Z]] 07:35:22.434 [info] {"args":{"id":1301334},"id":419840,"meta":{},"system_time":1782736522434037003,"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"]} 07:35:22.434 [info] {"args":{"id":1301335},"id":419841,"meta":{},"system_time":1782736522434071039,"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"]} 07:35:22.434 [debug] QUERY OK source="media_items" db=0.6ms 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" = ?) [1301335] 07:35:22.435 [debug] QUERY OK source="media_items" db=0.8ms 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" = ?) [1301334] 07:35:22.435 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:35:22.435 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:35:22.435 [debug] QUERY OK source="sources" db=0.5ms queue=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" = ?) [52] 07:35:22.435 [debug] QUERY OK source="sources" db=0.5ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:35:22.436 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:35:22.436 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 07:35:22.437 [debug] QUERY OK source="media_items" db=0.5ms queue=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 [1301335] 07:35:22.437 [debug] QUERY OK source="media_items" db=0.6ms idle=0.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 [1301334] 07:35:22.438 [debug] QUERY OK source="tasks" db=0.2ms idle=1.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419843, 1301392, ~U[2026-06-29 12:35:22Z], ~U[2026-06-29 12:35:22Z]] 07:35:22.438 [debug] QUERY OK source="media_metadata" db=0.1ms idle=0.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" = ?) [1301335] 07:35:22.438 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 07:35:22.439 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [1301334] 07:35:22.439 [debug] QUERY OK source="settings" db=0.3ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:35:22.439 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:35:22.439 [debug] QUERY OK source="settings" db=0.4ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:35:22.440 [debug] Running yt-dlp command for action: get_downloadable_status 07:35:22.440 [debug] QUERY OK source="settings" db=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:35:22.440 [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 [] 07:35:22.440 [debug] QUERY OK source="settings" db=0.3ms 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 [] 07:35:22.440 [debug] Running yt-dlp command for action: get_downloadable_status 07:35:22.441 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:35:22.441 [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 [] 07:35:22.441 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/6e/9e6e339c5e1799320f543931686c3c6796d48edfb5561a1e1b6dcdf7552cb75e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:35:22.441 [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 [] 07:35:22.442 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:35:22.442 [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 [] 07:35:22.442 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/66/ea663ea3e75f7779d33e8d92588811ddde02c51645bf151326531a1cafadb715.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:35:22.443 [debug] QUERY OK source="tasks" db=0.1ms idle=1.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419844, 1301393, ~U[2026-06-29 12:35:22Z], ~U[2026-06-29 12:35:22Z]] 07:35:22.445 [debug] QUERY OK source="tasks" db=0.2ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419845, 1301394, ~U[2026-06-29 12:35:22Z], ~U[2026-06-29 12:35:22Z]] 07:35:22.448 [debug] QUERY OK source="tasks" db=0.3ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419846, 1301395, ~U[2026-06-29 12:35:22Z], ~U[2026-06-29 12:35:22Z]] 07:35:22.451 [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" [419847, 1301397, ~U[2026-06-29 12:35:22Z], ~U[2026-06-29 12:35:22Z]] 07:35:22.453 [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" [419848, 1301398, ~U[2026-06-29 12:35:22Z], ~U[2026-06-29 12:35:22Z]] 07:35:22.456 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419849, 1301399, ~U[2026-06-29 12:35:22Z], ~U[2026-06-29 12:35:22Z]] 07:35:22.458 [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" [419850, 1301400, ~U[2026-06-29 12:35:22Z], ~U[2026-06-29 12:35:22Z]] 07:35:22.460 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419851, 2720968, ~U[2026-06-29 12:35:22Z], ~U[2026-06-29 12:35:22Z]] 07:35:22.461 [debug] QUERY OK source="tasks" db=0.2ms idle=1.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419852, 52, ~U[2026-06-29 12:35:22Z], ~U[2026-06-29 12:35:22Z]] 07:35:22.462 [info] {"args":{"id":52},"id":419838,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":90317,"event":"job:stop","queue_time":973423,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:35:23.138 [info] {"source":"oban","duration":11489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:24.283 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/6e/9e6e339c5e1799320f543931686c3c6796d48edfb5561a1e1b6dcdf7552cb75e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:35:24.283 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:24.283 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:24.284 [info] {"args":{"id":1301335},"id":419841,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1849865,"event":"job:stop","queue_time":432879,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:35:24.290 [info] {"args":{"id":1301347},"id":419842,"meta":{},"system_time":1782736524290663067,"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"]} 07:35:24.291 [debug] QUERY OK source="media_items" db=0.1ms idle=133.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" = ?) [1301347] 07:35:24.291 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:35:24.291 [debug] QUERY OK source="sources" db=0.1ms idle=133.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:35:24.292 [debug] QUERY OK source="media_profiles" db=0.6ms idle=134.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] 07:35:24.292 [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 [1301347] 07:35:24.294 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301347] 07:35:24.294 [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] 07:35:24.294 [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 [] 07:35:24.294 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:35:24.295 [debug] Running yt-dlp command for action: get_downloadable_status 07:35:24.295 [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 [] 07:35:24.296 [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 [] 07:35:24.296 [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 [] 07:35:24.296 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8d/65/8d655668e914066189b52e56d61b350df1eb491daff6b6590ad761950d956575.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:35:24.322 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/66/ea663ea3e75f7779d33e8d92588811ddde02c51645bf151326531a1cafadb715.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:35:24.322 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:24.323 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:24.323 [info] {"args":{"id":1301334},"id":419840,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1889090,"event":"job:stop","queue_time":432879,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:35:24.329 [info] {"args":{"id":1301392},"id":419843,"meta":{},"system_time":1782736524329505042,"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"]} 07:35:24.329 [debug] QUERY OK source="media_items" db=0.2ms idle=33.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" = ?) [1301392] 07:35:24.330 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:35:24.330 [debug] QUERY OK source="sources" db=0.1ms idle=34.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:35:24.330 [debug] QUERY OK source="media_profiles" db=0.1ms idle=34.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] 07:35:24.331 [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 [1301392] 07:35:24.331 [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" = ?) [1301392] 07:35:24.331 [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] 07:35:24.332 [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 [] 07:35:24.332 [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 [] 07:35:24.332 [debug] Running yt-dlp command for action: get_downloadable_status 07:35:24.333 [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 [] 07:35:24.333 [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 [] 07:35:24.333 [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 [] 07:35:24.333 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dc/76/dc763e6bdab7f88a0f45b30a48fdca5bf1fbaf528542f441bda269985edf6e05.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:35:26.109 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8d/65/8d655668e914066189b52e56d61b350df1eb491daff6b6590ad761950d956575.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:35:26.109 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:26.109 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:26.110 [info] {"args":{"id":1301347},"id":419842,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1819017,"event":"job:stop","queue_time":2289942,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:35:26.116 [info] {"args":{"id":1301393},"id":419844,"meta":{},"system_time":1782736526116653780,"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"]} 07:35:26.117 [debug] QUERY OK source="media_items" db=0.1ms idle=1783.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" = ?) [1301393] 07:35:26.117 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:35:26.117 [debug] QUERY OK source="sources" db=0.1ms idle=1748.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:35:26.117 [debug] QUERY OK source="media_profiles" db=0.1ms idle=747.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] 07:35:26.118 [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 [1301393] 07:35:26.119 [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" = ?) [1301393] 07:35:26.119 [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] 07:35:26.119 [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 [] 07:35:26.119 [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 [] 07:35:26.119 [debug] Running yt-dlp command for action: get_downloadable_status 07:35:26.120 [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 [] 07:35:26.120 [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 [] 07:35:26.120 [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 [] 07:35:26.121 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/79/e979390a1483881ee105c481a1629b0580f86b2688e74ed3f283fcd39ed6678e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:35:26.175 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dc/76/dc763e6bdab7f88a0f45b30a48fdca5bf1fbaf528542f441bda269985edf6e05.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:35:26.175 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:26.175 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:26.176 [info] {"args":{"id":1301392},"id":419843,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1846371,"event":"job:stop","queue_time":2328968,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:35:26.182 [info] {"args":{"id":1301394},"id":419845,"meta":{},"system_time":1782736526182478649,"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"]} 07:35:26.182 [debug] QUERY OK source="media_items" db=0.1ms idle=62.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" = ?) [1301394] 07:35:26.182 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:35:26.183 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [52] 07:35:26.183 [debug] QUERY OK source="media_profiles" db=0.1ms idle=62.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:35:26.183 [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 [1301394] 07:35:26.185 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301394] 07:35:26.185 [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] 07:35:26.185 [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 [] 07:35:26.185 [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 [] 07:35:26.185 [debug] Running yt-dlp command for action: get_downloadable_status 07:35:26.186 [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 [] 07:35:26.186 [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 [] 07:35:26.186 [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 [] 07:35:26.187 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/a3/94a3dc60a6ea302243b07eae3d3f45a7f50134e118bd8e35987ab8f4e48e3241.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:35:27.771 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/79/e979390a1483881ee105c481a1629b0580f86b2688e74ed3f283fcd39ed6678e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:35:27.771 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:27.771 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:27.772 [info] {"args":{"id":1301393},"id":419844,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1655338,"event":"job:stop","queue_time":4115945,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:35:27.778 [info] {"args":{"id":1301395},"id":419846,"meta":{},"system_time":1782736527778879097,"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"]} 07:35:27.779 [debug] QUERY OK source="media_items" db=0.2ms idle=1592.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" = ?) [1301395] 07:35:27.779 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:35:27.779 [debug] QUERY OK source="sources" db=0.1ms idle=1407.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:35:27.780 [debug] QUERY OK source="media_profiles" db=0.1ms idle=405.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] 07:35:27.780 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301395] 07:35:27.781 [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" = ?) [1301395] 07:35:27.781 [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] 07:35:27.781 [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 [] 07:35:27.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 [] 07:35:27.782 [debug] Running yt-dlp command for action: get_downloadable_status 07:35:27.782 [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 [] 07:35:27.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 [] 07:35:27.783 [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 [] 07:35:27.783 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ce/f5/cef54bd6887614013ed67017a5abf8417b4bb72d679d66717ade70533ecfea6d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:35:28.045 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/a3/94a3dc60a6ea302243b07eae3d3f45a7f50134e118bd8e35987ab8f4e48e3241.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:35:28.045 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:28.045 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:28.045 [info] {"args":{"id":1301394},"id":419845,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1863019,"event":"job:stop","queue_time":4181941,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:35:28.052 [info] {"args":{"id":1301397},"id":419847,"meta":{},"system_time":1782736528052518608,"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"]} 07:35:28.052 [debug] QUERY OK source="media_items" db=0.1ms idle=269.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" = ?) [1301397] 07:35:28.053 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:35:28.053 [debug] QUERY OK source="sources" db=0.1ms idle=270.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:35:28.053 [debug] QUERY OK source="media_profiles" db=0.1ms idle=270.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:35:28.054 [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 [1301397] 07:35:28.056 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301397] 07:35:28.056 [debug] QUERY OK source="media_profiles" db=0.0ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:35:28.056 [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 [] 07:35:28.056 [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 [] 07:35:28.056 [debug] Running yt-dlp command for action: get_downloadable_status 07:35:28.057 [debug] QUERY OK source="settings" db=0.0ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:35:28.057 [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 [] 07:35:28.058 [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 [] 07:35:28.058 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/32/3e/323e533e05dd349ec03368c44d7ae3517e7c7429b9ce40a972b650ed8b9cd49a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:35:29.719 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ce/f5/cef54bd6887614013ed67017a5abf8417b4bb72d679d66717ade70533ecfea6d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:35:29.719 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:29.720 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:29.720 [info] {"args":{"id":1301395},"id":419846,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1941240,"event":"job:stop","queue_time":5777946,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:35:29.726 [info] {"args":{"id":1301398},"id":419848,"meta":{},"system_time":1782736529726718044,"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"]} 07:35:29.727 [debug] QUERY OK source="media_items" db=0.1ms idle=569.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" = ?) [1301398] 07:35:29.727 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:35:29.727 [debug] QUERY OK source="sources" db=0.1ms idle=570.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:35:29.727 [debug] QUERY OK source="media_profiles" db=0.1ms idle=349.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:35:29.728 [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 [1301398] 07:35:29.729 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301398] 07:35:29.729 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:35:29.729 [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 [] 07:35:29.729 [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 [] 07:35:29.729 [debug] Running yt-dlp command for action: get_downloadable_status 07:35:29.730 [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 [] 07:35:29.730 [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 [] 07:35:29.730 [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 [] 07:35:29.731 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/29/fc/29fc235724a07f1876019c3bd60f713befc37fda2118511e53dd810a6ff5cc8e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:35:29.774 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/32/3e/323e533e05dd349ec03368c44d7ae3517e7c7429b9ce40a972b650ed8b9cd49a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:35:29.775 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:29.775 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:29.775 [info] {"args":{"id":1301397},"id":419847,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1722644,"event":"job:stop","queue_time":6051940,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:35:29.781 [info] {"args":{"id":1301399},"id":419849,"meta":{},"system_time":1782736529781468286,"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"]} 07:35:29.781 [debug] QUERY OK source="media_items" db=0.1ms idle=50.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" = ?) [1301399] 07:35:29.782 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:35:29.782 [debug] QUERY OK source="sources" db=0.1ms idle=51.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:35:29.782 [debug] QUERY OK source="media_profiles" db=0.1ms idle=51.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:35:29.782 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301399] 07:35:29.783 [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" = ?) [1301399] 07:35:29.783 [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] 07:35:29.784 [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 [] 07:35:29.784 [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 [] 07:35:29.784 [debug] Running yt-dlp command for action: get_downloadable_status 07:35:29.785 [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 [] 07:35:29.785 [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 [] 07:35:29.785 [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 [] 07:35:29.785 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/69/ae/69aebeb2bfe014514654e51bc1b1c095e514bd39248f8e2a8103a4a30bc9912b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:35:31.468 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/69/ae/69aebeb2bfe014514654e51bc1b1c095e514bd39248f8e2a8103a4a30bc9912b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:35:31.468 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:31.469 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:31.469 [info] {"args":{"id":1301399},"id":419849,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1687655,"event":"job:stop","queue_time":7780890,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:35:31.475 [info] {"args":{"id":1301400},"id":419850,"meta":{},"system_time":1782736531475412736,"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"]} 07:35:31.475 [debug] QUERY OK source="media_items" db=0.1ms idle=318.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" = ?) [1301400] 07:35:31.475 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:35:31.476 [debug] QUERY OK source="sources" db=0.1ms idle=318.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:35:31.476 [debug] QUERY OK source="media_profiles" db=0.1ms idle=95.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:35:31.476 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301400] 07:35:31.478 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301400] 07:35:31.478 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:35:31.478 [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 [] 07:35:31.478 [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 [] 07:35:31.479 [debug] Running yt-dlp command for action: get_downloadable_status 07:35:31.479 [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 [] 07:35:31.480 [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 [] 07:35:31.480 [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 [] 07:35:31.480 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/59/c459e6f43998bf010fb1f561486055b0c2b213facccf21940dcf45460c6b97d5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:35:31.665 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/29/fc/29fc235724a07f1876019c3bd60f713befc37fda2118511e53dd810a6ff5cc8e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:35:31.665 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:31.665 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:31.665 [info] {"args":{"id":1301398},"id":419848,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1938797,"event":"job:stop","queue_time":7725959,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:35:31.672 [info] {"args":{"id":2720968},"id":419851,"meta":{},"system_time":1782736531672610291,"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"]} 07:35:31.673 [debug] QUERY OK source="media_items" db=0.1ms idle=192.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" = ?) [2720968] 07:35:31.673 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:35:31.673 [debug] QUERY OK source="sources" db=0.1ms idle=193.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:35:31.673 [debug] QUERY OK source="media_profiles" db=0.1ms idle=193.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:35:31.674 [debug] QUERY OK source="media_items" db=0.1ms 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 [2720968] 07:35:31.674 [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" = ?) [2720968] 07:35:31.674 [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] 07:35:31.675 [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 [] 07:35:31.675 [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 [] 07:35:31.675 [debug] Running yt-dlp command for action: get_downloadable_status 07:35:31.676 [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 [] 07:35:31.676 [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 [] 07:35:31.676 [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 [] 07:35:31.676 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bf/14/bf14bd33d52f3673123a0cd291b0fa30091f7e5a1810f604f3e2b429d9a5e9e7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:35:33.334 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/59/c459e6f43998bf010fb1f561486055b0c2b213facccf21940dcf45460c6b97d5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:35:33.334 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:33.334 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:33.334 [info] {"args":{"id":1301400},"id":419850,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1859055,"event":"job:stop","queue_time":9474941,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:35:33.345 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bf/14/bf14bd33d52f3673123a0cd291b0fa30091f7e5a1810f604f3e2b429d9a5e9e7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:35:33.345 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:33.345 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:35:33.346 [info] {"args":{"id":2720968},"id":419851,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1673173,"event":"job:stop","queue_time":9671945,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:35:53.147 [info] {"source":"oban","duration":7642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:00.062 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:36:23.155 [info] {"source":"oban","duration":7960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:36:53.162 [info] {"source":"oban","duration":5402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:00.063 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:37:23.171 [info] {"source":"oban","duration":7603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:28.580 [info] {"args":{"id":1012090},"id":419407,"meta":{},"system_time":1782736648580356715,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:37:28.580 [debug] QUERY OK source="media_items" db=0.1ms idle=1423.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" = ?) [1012090] 07:37:28.580 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:37:28.581 [debug] QUERY OK source="sources" db=0.1ms idle=1423.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:37:28.581 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1008.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:37:28.582 [debug] QUERY OK source="media_items" db=0.6ms 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 [1012090] 07:37:28.583 [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" = ?) [1012090] 07:37:28.583 [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] 07:37:28.583 [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 [] 07:37:28.583 [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 [] 07:37:28.583 [debug] Running yt-dlp command for action: get_downloadable_status 07:37:28.590 [debug] QUERY OK source="settings" db=0.1ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:37:28.590 [debug] QUERY OK source="settings" db=0.0ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:37:28.590 [debug] QUERY OK source="settings" db=0.0ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:37:28.590 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a04GSWWHBEM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/91/75/9175165029f93e004656ed1463797a4f77e37f57cf6db93d972760c3d2a40277.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:37:30.424 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a04GSWWHBEM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/91/75/9175165029f93e004656ed1463797a4f77e37f57cf6db93d972760c3d2a40277.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] a04GSWWHBEM: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:37:30.424 [error] yt-dlp download error for media item #1012090: "ERROR: [youtube] a04GSWWHBEM: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:37:30.425 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012090},"id":419407,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1844212,"event":"job:exception","queue_time":546308,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:37:50.614 [info] {"args":{"id":1012067},"id":418048,"meta":{},"system_time":1782736670614554215,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:37:50.615 [debug] QUERY OK source="media_items" db=0.2ms idle=457.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" = ?) [1012067] 07:37:50.615 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:37:50.615 [debug] QUERY OK source="sources" db=0.2ms idle=458.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:37:50.615 [debug] QUERY OK source="media_profiles" db=0.1ms idle=458.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:37:50.616 [debug] QUERY OK source="media_items" db=0.1ms 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 [1012067] 07:37:50.617 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1012067] 07:37:50.617 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:37:50.618 [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 [] 07:37:50.618 [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 [] 07:37:50.618 [debug] Running yt-dlp command for action: get_downloadable_status 07:37:50.619 [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 [] 07:37:50.619 [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 [] 07:37:50.619 [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 [] 07:37:50.619 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nbVrFBLBheY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/de/a6/dea61bb64c747a62bd90a803e8fcbb307174d7b2cf98ec0108ceccf1cef86de9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:37:52.262 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nbVrFBLBheY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/de/a6/dea61bb64c747a62bd90a803e8fcbb307174d7b2cf98ec0108ceccf1cef86de9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] nbVrFBLBheY: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:37:52.262 [error] yt-dlp download error for media item #1012067: "ERROR: [youtube] nbVrFBLBheY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:37:52.263 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012067},"id":418048,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1648578,"event":"job:exception","queue_time":806818,"attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:37:53.180 [info] {"source":"oban","duration":8437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:00.064 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:38:17.663 [info] {"args":{"id":30},"id":419810,"meta":{},"system_time":1782736697663149521,"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"]} 07:38:17.663 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [30] 07:38:17.663 [debug] QUERY OK source="settings" db=0.1ms idle=506.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:38:17.668 [debug] QUERY OK source="media_items" db=4.5ms idle=506.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] 07:38:17.669 [debug] QUERY OK source="media_items" db=0.7ms idle=12.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 07:38:17.669 [debug] QUERY OK source="media_profiles" db=0.0ms idle=6.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:38:17.669 [debug] QUERY OK source="settings" db=0.0ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:38:17.670 [debug] QUERY OK source="settings" db=0.0ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:38:17.674 [debug] QUERY OK source="media_items" db=3.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."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [30] 07:38:17.676 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 07:38:17.676 [debug] Current batch of media processed. Will check again in 1000ms 07:38:17.676 [debug] QUERY OK source="settings" db=0.1ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:38:17.676 [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 [] 07:38:17.676 [debug] QUERY OK source="settings" db=0.1ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:38:17.676 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCld68syR8Wi-GY_n4CaoJGA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/e4/19/e419ed8f29bbcdb330fc903a044a91eeb547dd87156d1f475afdf4125ae57691.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/6e/92/6e92a0f61a23a09acb6a7add1195a9754b086d8cbcc74b2edef1d56cc0a87afe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:38:18.677 [debug] Current batch of media processed. Will check again in 1000ms 07:38:19.678 [debug] Current batch of media processed. Will check again in 1000ms 07:38:20.679 [debug] Current batch of media processed. Will check again in 1000ms 07:38:21.680 [debug] Current batch of media processed. Will check again in 1000ms 07:38:22.681 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1191, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", "id" => "3PzEmiSDgd0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3PzEmiSDgd0", "playlist_index" => 1, "timestamp" => 1782667801, "title" => "I tried installing Steam OS", "upload_date" => "20260628"} 07:38:22.681 [debug] QUERY OK source="sources" db=0.1ms idle=1524.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:22.681 [debug] QUERY OK source="sources" db=0.1ms idle=1524.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:22.686 [debug] QUERY OK source="media_items" db=4.5ms idle=1524.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 17:30:01Z], 30] 07:38:22.688 [debug] QUERY OK source="media_items" db=1.1ms idle=1023.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "715549d8-3d11-40e6-a0d7-8b3c05a08060", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, false, false, 30, [], 98, ~U[2026-06-28 17:30:01Z], ~U[2026-06-29 12:38:22Z], ~U[2026-06-29 12:38:22Z], "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, 30, ~U[2026-06-28 17:30:01Z]] 07:38:22.688 [debug] QUERY OK source="sources" db=0.1ms idle=24.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:22.688 [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] 07:38:22.689 [debug] QUERY OK source="media_items" db=0.1ms 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 [3305566] 07:38:22.689 [debug] Current batch of media processed. Will check again in 1000ms 07:38:23.189 [info] {"source":"oban","duration":8154,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:38:23.690 [debug] Current batch of media processed. Will check again in 1000ms 07:38:24.691 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1364, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", "id" => "C7rXBdgObno", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=C7rXBdgObno", "playlist_index" => 2, "timestamp" => 1782581435, "title" => "I'm In Love With KDE Plasma's New Theme", "upload_date" => "20260627"} 07:38:24.691 [debug] QUERY OK source="sources" db=0.2ms idle=1025.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:24.692 [debug] QUERY OK source="sources" db=0.1ms idle=534.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:24.696 [debug] QUERY OK source="media_items" db=4.5ms idle=534.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-27 17:30:35Z], 30] 07:38:24.698 [debug] QUERY OK source="media_items" db=1.0ms idle=539.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "1b267d5f-2072-4d93-952f-71c33062793c", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, false, false, 30, [], 98, ~U[2026-06-27 17:30:35Z], ~U[2026-06-29 12:38:24Z], ~U[2026-06-29 12:38:24Z], "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, 30, ~U[2026-06-27 17:30:35Z]] 07:38:24.699 [debug] QUERY OK source="sources" db=0.5ms idle=31.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:24.699 [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] 07:38:24.699 [debug] QUERY OK source="media_items" db=0.1ms 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 [3297662] 07:38:24.699 [debug] Current batch of media processed. Will check again in 1000ms 07:38:25.701 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1187, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", "id" => "iWcFXmnPYoQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "playlist_index" => 3, "timestamp" => 1782322215, "title" => "I was wrong about SteamOS", "upload_date" => "20260624"} 07:38:25.701 [debug] QUERY OK source="sources" db=0.3ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:25.702 [debug] QUERY OK source="sources" db=0.2ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:25.707 [debug] QUERY OK source="media_items" db=4.6ms idle=1002.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-24 17:30:15Z], 30] 07:38:25.708 [debug] QUERY OK source="media_items" db=0.9ms idle=1007.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "72afe76b-778d-4ab7-a829-12e77b3b07cc", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, false, false, 30, [], 98, ~U[2026-06-24 17:30:15Z], ~U[2026-06-29 12:38:25Z], ~U[2026-06-29 12:38:25Z], "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, 30, ~U[2026-06-24 17:30:15Z]] 07:38:25.708 [debug] QUERY OK source="sources" db=0.2ms idle=40.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:25.709 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:38:25.709 [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 [3274030] 07:38:25.709 [debug] Current batch of media processed. Will check again in 1000ms 07:38:26.709 [debug] Current batch of media processed. Will check again in 1000ms 07:38:27.711 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1559, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", "id" => "wPXqhfgTV9M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wPXqhfgTV9M", "playlist_index" => 4, "timestamp" => 1782235809, "title" => "Stack Overflow Is Having An Existential Crisis", "upload_date" => "20260623"} 07:38:27.712 [debug] QUERY OK source="sources" db=0.2ms idle=554.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:27.712 [debug] QUERY OK source="sources" db=0.1ms idle=555.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:27.717 [debug] QUERY OK source="media_items" db=4.7ms idle=555.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 17:30:09Z], 30] 07:38:27.718 [debug] QUERY OK source="media_items" db=1.0ms idle=560.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "100e77b4-281a-4ee8-90d6-3f2227be3b81", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, false, false, 30, [], 98, ~U[2026-06-23 17:30:09Z], ~U[2026-06-29 12:38:27Z], ~U[2026-06-29 12:38:27Z], "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, 30, ~U[2026-06-23 17:30:09Z]] 07:38:27.719 [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" = ?) [30] 07:38:27.719 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:38:27.719 [debug] QUERY OK source="media_items" db=0.1ms 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 [3266154] 07:38:27.719 [debug] Current batch of media processed. Will check again in 1000ms 07:38:28.721 [debug] Current batch of media processed. Will check again in 1000ms 07:38:29.722 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1169, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", "id" => "xe75b6OSR90", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xe75b6OSR90", "playlist_index" => 5, "timestamp" => 1782149404, "title" => "X11 Will Completely End Without Your Help", "upload_date" => "20260622"} 07:38:29.722 [debug] QUERY OK source="sources" db=0.2ms idle=564.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:29.722 [debug] QUERY OK source="sources" db=0.1ms idle=565.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:29.727 [debug] QUERY OK source="media_items" db=4.6ms idle=565.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-22 17:30:04Z], 30] 07:38:29.729 [debug] QUERY OK source="media_items" db=0.8ms idle=570.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "c31ea89f-86d6-4b8e-aaa8-0655fa13bca5", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-06-22 17:30:04Z], ~U[2026-06-29 12:38:29Z], ~U[2026-06-29 12:38:29Z], "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, 30, ~U[2026-06-22 17:30:04Z]] 07:38:29.729 [debug] QUERY OK source="sources" db=0.1ms idle=52.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:29.729 [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] 07:38:29.730 [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 [3258286] 07:38:29.730 [debug] Current batch of media processed. Will check again in 1000ms 07:38:30.731 [debug] Current batch of media processed. Will check again in 1000ms 07:38:31.732 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1122, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", "id" => "uswAKkgmllA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uswAKkgmllA", "playlist_index" => 6, "timestamp" => 1782063038, "title" => "The Weird World Of Alternate Root DNS", "upload_date" => "20260621"} 07:38:31.732 [debug] QUERY OK source="sources" db=0.1ms idle=575.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 07:38:31.733 [debug] QUERY OK source="sources" db=0.1ms idle=575.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:31.737 [debug] QUERY OK source="media_items" db=4.5ms idle=576.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-21 17:30:38Z], 30] 07:38:31.739 [debug] QUERY OK source="media_items" db=1.1ms idle=581.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "6b315f71-a20c-4e6b-a7ed-f2150f41d3e9", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, false, false, 30, [], 98, ~U[2026-06-21 17:30:38Z], ~U[2026-06-29 12:38:31Z], ~U[2026-06-29 12:38:31Z], "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, 30, ~U[2026-06-21 17:30:38Z]] 07:38:31.739 [debug] QUERY OK source="sources" db=0.1ms idle=59.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:31.739 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:38:31.740 [debug] QUERY OK source="media_items" db=0.1ms 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 [3250444] 07:38:31.740 [debug] Current batch of media processed. Will check again in 1000ms 07:38:32.741 [debug] Current batch of media processed. Will check again in 1000ms 07:38:33.742 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1488, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", "id" => "VR20JYYXH6Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VR20JYYXH6Q", "playlist_index" => 7, "timestamp" => 1781976608, "title" => "Stay Safe On The AUR In The Face Of Arch Linux Malware", "upload_date" => "20260620"} 07:38:33.743 [debug] QUERY OK source="sources" db=0.2ms idle=586.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:33.743 [debug] QUERY OK source="sources" db=0.1ms idle=586.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:33.748 [debug] QUERY OK source="media_items" db=4.7ms idle=586.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 17:30:08Z], 30] 07:38:33.749 [debug] QUERY OK source="media_items" db=0.9ms idle=591.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "cb97e9c9-efde-48d9-8c38-082282a58f40", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, false, false, 30, [], 98, ~U[2026-06-20 17:30:08Z], ~U[2026-06-29 12:38:33Z], ~U[2026-06-29 12:38:33Z], "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, 30, ~U[2026-06-20 17:30:08Z]] 07:38:33.750 [debug] QUERY OK source="sources" db=0.1ms idle=67.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:38:33.750 [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] 07:38:33.750 [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 [3242381] 07:38:33.751 [debug] Current batch of media processed. Will check again in 1000ms 07:38:34.752 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1090, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", "id" => "d7MTYqID8VY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d7MTYqID8VY", "playlist_index" => 8, "timestamp" => 1781803802, "title" => "Tridge Responds To The Claimed Rsync AI Caused Regressions", "upload_date" => "20260618"} 07:38:34.752 [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" IN (?)) [30] 07:38:34.753 [debug] QUERY OK source="sources" db=0.0ms 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" = ?) [30] 07:38:34.757 [debug] QUERY OK source="media_items" db=4.4ms idle=1002.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-18 17:30:02Z], 30] 07:38:34.759 [debug] QUERY OK source="media_items" db=0.9ms idle=1007.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "41b1fb75-2e34-4b7b-bf78-2cac9779e5b4", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, false, false, 30, [], 98, ~U[2026-06-18 17:30:02Z], ~U[2026-06-29 12:38:34Z], ~U[2026-06-29 12:38:34Z], "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, 30, ~U[2026-06-18 17:30:02Z]] 07:38:34.759 [debug] QUERY OK source="sources" db=0.1ms idle=73.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:38:34.759 [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] 07:38:34.760 [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 [3226631] 07:38:34.760 [debug] Current batch of media processed. Will check again in 1000ms 07:38:35.761 [debug] Current batch of media processed. Will check again in 1000ms 07:38:36.762 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1081, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", "id" => "tgyxIC3J8cs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tgyxIC3J8cs", "playlist_index" => 9, "timestamp" => 1781717431, "title" => "KDE Plasma 6.7 Has Finally Come", "upload_date" => "20260617"} 07:38:36.762 [debug] QUERY OK source="sources" db=0.2ms idle=605.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:36.762 [debug] QUERY OK source="sources" db=0.1ms idle=605.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:36.767 [debug] QUERY OK source="media_items" db=4.7ms idle=605.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 17:30:31Z], 30] 07:38:36.769 [debug] QUERY OK source="media_items" db=0.8ms idle=610.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "10c2491e-1b29-48f2-9d9c-05911be99641", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, false, false, 30, [], 98, ~U[2026-06-17 17:30:31Z], ~U[2026-06-29 12:38:36Z], ~U[2026-06-29 12:38:36Z], "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, 30, ~U[2026-06-17 17:30:31Z]] 07:38:36.769 [debug] QUERY OK source="sources" db=0.1ms idle=79.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:38:36.769 [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] 07:38:36.769 [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 [3218823] 07:38:36.769 [debug] Current batch of media processed. Will check again in 1000ms 07:38:37.771 [debug] Current batch of media processed. Will check again in 1000ms 07:38:38.772 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1130, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", "id" => "VeudOzqpHHs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VeudOzqpHHs", "playlist_index" => 10, "timestamp" => 1781631008, "title" => "The AUR Malware Attack Never Stopped", "upload_date" => "20260616"} 07:38:38.773 [debug] QUERY OK source="sources" db=0.2ms idle=615.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:38.773 [debug] QUERY OK source="sources" db=0.1ms idle=615.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:38.778 [debug] QUERY OK source="media_items" db=4.4ms idle=616.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 17:30:08Z], 30] 07:38:38.779 [debug] QUERY OK source="media_items" db=1.1ms idle=620.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "00b63bc4-5140-40e0-a3ca-dc8425b872a2", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, false, false, 30, [], 98, ~U[2026-06-16 17:30:08Z], ~U[2026-06-29 12:38:38Z], ~U[2026-06-29 12:38:38Z], "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, 30, ~U[2026-06-16 17:30:08Z]] 07:38:38.780 [debug] QUERY OK source="sources" db=0.1ms idle=86.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:38:38.780 [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] 07:38:38.780 [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 [3210881] 07:38:38.780 [debug] Current batch of media processed. Will check again in 1000ms 07:38:39.781 [debug] Current batch of media processed. Will check again in 1000ms 07:38:40.782 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1198, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", "id" => "dFnZyoLXVa4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dFnZyoLXVa4", "playlist_index" => 11, "timestamp" => 1781544603, "title" => "Ladybird Browser Stops Accepting Public Pull Requests", "upload_date" => "20260615"} 07:38:40.783 [debug] QUERY OK source="sources" db=0.2ms idle=625.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:40.783 [debug] QUERY OK source="sources" db=0.2ms idle=626.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:40.788 [debug] QUERY OK source="media_items" db=4.8ms idle=626.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-15 17:30:03Z], 30] 07:38:40.790 [debug] QUERY OK source="media_items" db=1.0ms idle=631.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "95cc32ab-ab6f-4d7f-869a-baa23e5cfc5d", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, false, false, 30, [], 98, ~U[2026-06-15 17:30:03Z], ~U[2026-06-29 12:38:40Z], ~U[2026-06-29 12:38:40Z], "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, 30, ~U[2026-06-15 17:30:03Z]] 07:38:40.790 [debug] QUERY OK source="sources" db=0.1ms idle=93.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:38:40.790 [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] 07:38:40.791 [debug] QUERY OK source="media_items" db=0.1ms 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 [3202877] 07:38:40.791 [debug] Current batch of media processed. Will check again in 1000ms 07:38:41.792 [debug] Current batch of media processed. Will check again in 1000ms 07:38:42.793 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 3383, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", "id" => "BBwZs0lxeNk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BBwZs0lxeNk", "playlist_index" => 12, "timestamp" => 1781458202, "title" => "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "upload_date" => "20260614"} 07:38:42.794 [debug] QUERY OK source="sources" db=0.1ms idle=636.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:42.794 [debug] QUERY OK source="sources" db=0.1ms idle=637.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:42.799 [debug] QUERY OK source="media_items" db=4.5ms idle=637.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-14 17:30:02Z], 30] 07:38:42.800 [debug] QUERY OK source="media_items" db=1.0ms idle=642.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "acfb13ab-86d3-4911-bcf7-63a8bcbe6a92", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, false, false, 30, [], 98, ~U[2026-06-14 17:30:02Z], ~U[2026-06-29 12:38:42Z], ~U[2026-06-29 12:38:42Z], "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, 30, ~U[2026-06-14 17:30:02Z]] 07:38:42.801 [debug] QUERY OK source="sources" db=0.3ms idle=100.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:42.801 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:38:42.801 [debug] QUERY OK source="media_items" db=0.1ms 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 [3195147] 07:38:42.801 [debug] Current batch of media processed. Will check again in 1000ms 07:38:43.803 [debug] Current batch of media processed. Will check again in 1000ms 07:38:44.804 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1205, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", "id" => "gXQLC3Sontc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gXQLC3Sontc", "playlist_index" => 13, "timestamp" => 1781371817, "title" => "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "upload_date" => "20260613"} 07:38:44.805 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=648.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:44.805 [debug] QUERY OK source="sources" db=0.1ms idle=648.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:44.810 [debug] QUERY OK source="media_items" db=4.5ms idle=648.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-13 17:30:17Z], 30] 07:38:44.812 [debug] QUERY OK source="media_items" db=1.0ms idle=653.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "ba783b48-a276-4277-b752-a226531b05da", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, false, false, 30, [], 98, ~U[2026-06-13 17:30:17Z], ~U[2026-06-29 12:38:44Z], ~U[2026-06-29 12:38:44Z], "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, 30, ~U[2026-06-13 17:30:17Z]] 07:38:44.812 [debug] QUERY OK source="sources" db=0.1ms idle=107.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:38:44.812 [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] 07:38:44.813 [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 [3187102] 07:38:44.813 [debug] Current batch of media processed. Will check again in 1000ms 07:38:45.814 [debug] Current batch of media processed. Will check again in 1000ms 07:38:46.815 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1221, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", "id" => "WoxR7fGl4CI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WoxR7fGl4CI", "playlist_index" => 14, "timestamp" => 1781285431, "title" => "Massive AUR Malware Attack: DO NOT UPDATE", "upload_date" => "20260612"} 07:38:46.815 [debug] QUERY OK source="sources" db=0.1ms idle=657.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:46.815 [debug] QUERY OK source="sources" db=0.1ms idle=658.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:46.820 [debug] QUERY OK source="media_items" db=4.5ms idle=658.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-12 17:30:31Z], 30] 07:38:46.822 [debug] QUERY OK source="media_items" db=1.2ms idle=663.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "9bb2b274-7fec-42f1-856f-68d436378f9f", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, false, false, 30, [], 98, ~U[2026-06-12 17:30:31Z], ~U[2026-06-29 12:38:46Z], ~U[2026-06-29 12:38:46Z], "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, 30, ~U[2026-06-12 17:30:31Z]] 07:38:46.822 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [30] 07:38:46.823 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:38:46.823 [debug] QUERY OK source="media_items" db=0.1ms 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 [3179203] 07:38:46.823 [debug] Current batch of media processed. Will check again in 1000ms 07:38:47.824 [debug] Current batch of media processed. Will check again in 1000ms 07:38:48.825 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 827, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", "id" => "_Axl-_DG5eo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_Axl-_DG5eo", "playlist_index" => 15, "timestamp" => 1781199024, "title" => "Brave Origin Charges You For A Problem Brave Created", "upload_date" => "20260611"} 07:38:48.826 [debug] QUERY OK source="sources" db=0.2ms idle=668.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:48.826 [debug] QUERY OK source="sources" db=0.1ms idle=669.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:48.831 [debug] QUERY OK source="media_items" db=4.4ms idle=669.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-11 17:30:24Z], 30] 07:38:48.834 [debug] QUERY OK source="media_items" db=3.1ms idle=674.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "5d3a09c5-2e22-46eb-9c8b-4227df2c02b7", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, false, false, 30, [], 98, ~U[2026-06-11 17:30:24Z], ~U[2026-06-29 12:38:48Z], ~U[2026-06-29 12:38:48Z], "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, 30, ~U[2026-06-11 17:30:24Z]] 07:38:48.835 [debug] QUERY OK source="sources" db=0.7ms idle=122.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:48.836 [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] 07:38:48.836 [debug] QUERY OK source="media_items" db=0.1ms 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 [3171302] 07:38:48.836 [debug] Current batch of media processed. Will check again in 1000ms 07:38:49.837 [debug] Current batch of media processed. Will check again in 1000ms 07:38:50.838 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1017, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", "id" => "nwHjVOcUMaw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nwHjVOcUMaw", "playlist_index" => 16, "timestamp" => 1781112612, "title" => "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "upload_date" => "20260610"} 07:38:50.839 [debug] QUERY OK source="sources" db=0.3ms idle=681.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:50.840 [debug] QUERY OK source="sources" db=0.0ms idle=682.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:50.844 [debug] QUERY OK source="media_items" db=4.5ms idle=682.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-10 17:30:12Z], 30] 07:38:50.846 [debug] QUERY OK source="media_items" db=1.1ms idle=687.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "74d2c9f6-8f52-446e-b72e-2c1d3d9f204f", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, false, false, 30, [], 98, ~U[2026-06-10 17:30:12Z], ~U[2026-06-29 12:38:50Z], ~U[2026-06-29 12:38:50Z], "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, 30, ~U[2026-06-10 17:30:12Z]] 07:38:50.846 [debug] QUERY OK source="sources" db=0.2ms idle=130.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:38:50.846 [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] 07:38:50.847 [debug] QUERY OK source="media_items" db=0.1ms 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 [3163522] 07:38:50.847 [debug] Current batch of media processed. Will check again in 1000ms 07:38:51.848 [debug] Current batch of media processed. Will check again in 1000ms 07:38:52.849 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1331, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", "id" => "36pHSM0mzXE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=36pHSM0mzXE", "playlist_index" => 17, "timestamp" => 1781030838, "title" => "GNOME Board Bans Sonny Piers, He Reveals Everything", "upload_date" => "20260609"} 07:38:52.849 [debug] QUERY OK source="sources" db=0.2ms idle=692.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:52.849 [debug] QUERY OK source="sources" db=0.1ms idle=692.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:52.855 [debug] QUERY OK source="media_items" db=4.9ms idle=692.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 18:47:18Z], 30] 07:38:52.856 [debug] QUERY OK source="media_items" db=1.2ms idle=698.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "9569f0cc-e107-4fd1-99ad-8a33d37fcc10", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, false, false, 30, [], 98, ~U[2026-06-09 18:47:18Z], ~U[2026-06-29 12:38:52Z], ~U[2026-06-29 12:38:52Z], "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, 30, ~U[2026-06-09 18:47:18Z]] 07:38:52.857 [debug] QUERY OK source="sources" db=0.1ms idle=136.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:38:52.857 [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] 07:38:52.857 [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 [3156119] 07:38:52.857 [debug] Current batch of media processed. Will check again in 1000ms 07:38:53.198 [info] {"source":"oban","duration":8347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:53.858 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1305, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", "id" => "mawalnYGQkA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mawalnYGQkA", "playlist_index" => 18, "timestamp" => 1780939824, "title" => "Nobody Understands LTS Linux Distros", "upload_date" => "20260608"} 07:38:53.859 [debug] QUERY OK source="sources" db=0.2ms queue=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 (?)) [30] 07:38:53.860 [debug] QUERY OK source="sources" db=0.1ms idle=1002.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:53.864 [debug] QUERY OK source="media_items" db=4.5ms idle=1002.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-08 17:30:24Z], 30] 07:38:53.866 [debug] QUERY OK source="media_items" db=1.1ms idle=666.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "96872d74-f5ce-414c-ae29-3591aa2e342b", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, false, false, 30, [], 98, ~U[2026-06-08 17:30:24Z], ~U[2026-06-29 12:38:53Z], ~U[2026-06-29 12:38:53Z], "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, 30, ~U[2026-06-08 17:30:24Z]] 07:38:53.866 [debug] QUERY OK source="sources" db=0.1ms idle=144.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:38:53.866 [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] 07:38:53.867 [debug] QUERY OK source="media_items" db=0.1ms 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 [3147694] 07:38:53.867 [debug] Current batch of media processed. Will check again in 1000ms 07:38:54.868 [debug] Current batch of media processed. Will check again in 1000ms 07:38:55.869 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1223, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", "id" => "oV1ug0u8vas", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oV1ug0u8vas", "playlist_index" => 19, "timestamp" => 1780853402, "title" => "Even More Dumb Software Licenses", "upload_date" => "20260607"} 07:38:55.870 [debug] QUERY OK source="sources" db=0.1ms idle=712.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:55.870 [debug] QUERY OK source="sources" db=0.1ms idle=712.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:55.875 [debug] QUERY OK source="media_items" db=4.5ms idle=713.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-07 17:30:02Z], 30] 07:38:55.877 [debug] QUERY OK source="media_items" db=1.2ms idle=718.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "4c3f2a82-21ad-4de1-bba1-8c0337e4de80", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, false, false, 30, [], 98, ~U[2026-06-07 17:30:02Z], ~U[2026-06-29 12:38:55Z], ~U[2026-06-29 12:38:55Z], "A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, 30, ~U[2026-06-07 17:30:02Z]] 07:38:55.877 [debug] QUERY OK source="sources" db=0.1ms idle=151.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:38:55.878 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 07:38:55.878 [debug] QUERY OK source="media_items" db=0.1ms 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 [3140012] 07:38:55.878 [debug] Current batch of media processed. Will check again in 1000ms 07:38:55.944 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCld68syR8Wi-GY_n4CaoJGA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/e4/19/e419ed8f29bbcdb330fc903a044a91eeb547dd87156d1f475afdf4125ae57691.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/6e/92/6e92a0f61a23a09acb6a7add1195a9754b086d8cbcc74b2edef1d56cc0a87afe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 07:38:55.945 [debug] Gracefully stopping file follower 07:38:55.946 [debug] QUERY OK source="sources" db=0.7ms idle=70.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:38:55.946 [debug] QUERY OK source="sources" db=0.1ms idle=69.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:55.951 [debug] QUERY OK source="media_items" db=4.5ms idle=69.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-28 17:30:01Z], 30] 07:38:55.953 [debug] QUERY OK source="media_items" db=1.2ms idle=73.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "75c489a3-af9f-4f99-af64-0d9c63c04c15", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, false, false, 30, [], 98, ~U[2026-06-28 17:30:01Z], ~U[2026-06-29 12:38:55Z], ~U[2026-06-29 12:38:55Z], "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, 30, ~U[2026-06-28 17:30:01Z]] 07:38:55.953 [debug] QUERY OK source="sources" db=0.2ms idle=75.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:55.958 [debug] QUERY OK source="media_items" db=4.5ms idle=7.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-27 17:30:35Z], 30] 07:38:55.960 [debug] QUERY OK source="media_items" db=1.1ms idle=12.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "41df05f8-3f96-44f4-8f35-d2140dce59ec", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, false, false, 30, [], 98, ~U[2026-06-27 17:30:35Z], ~U[2026-06-29 12:38:55Z], ~U[2026-06-29 12:38:55Z], "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, 30, ~U[2026-06-27 17:30:35Z]] 07:38:55.961 [debug] QUERY OK source="sources" db=0.6ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:55.965 [debug] QUERY OK source="media_items" db=4.3ms idle=7.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-24 17:30:15Z], 30] 07:38:55.967 [debug] QUERY OK source="media_items" db=1.0ms idle=12.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "36c5e893-c494-4b62-9214-9095c79a9437", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, false, false, 30, [], 98, ~U[2026-06-24 17:30:15Z], ~U[2026-06-29 12:38:55Z], ~U[2026-06-29 12:38:55Z], "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, 30, ~U[2026-06-24 17:30:15Z]] 07:38:55.967 [debug] QUERY OK source="sources" db=0.6ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:55.972 [debug] QUERY OK source="media_items" db=4.5ms idle=7.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 17:30:09Z], 30] 07:38:55.974 [debug] QUERY OK source="media_items" db=1.1ms idle=11.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "02414a1e-d837-4c05-a88a-92ea8a53e8a3", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, false, false, 30, [], 98, ~U[2026-06-23 17:30:09Z], ~U[2026-06-29 12:38:55Z], ~U[2026-06-29 12:38:55Z], "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, 30, ~U[2026-06-23 17:30:09Z]] 07:38:55.975 [debug] QUERY OK source="sources" db=0.6ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:55.980 [debug] QUERY OK source="media_items" db=4.6ms idle=8.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-22 17:30:04Z], 30] 07:38:55.995 [debug] QUERY OK source="media_items" db=15.1ms idle=12.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "facf5536-b458-45e6-af26-20e3b1cef429", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-06-22 17:30:04Z], ~U[2026-06-29 12:38:55Z], ~U[2026-06-29 12:38:55Z], "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, 30, ~U[2026-06-22 17:30:04Z]] 07:38:55.996 [debug] QUERY OK source="sources" db=0.7ms idle=23.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:56.001 [debug] QUERY OK source="media_items" db=4.7ms idle=22.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-21 17:30:38Z], 30] 07:38:56.007 [debug] QUERY OK source="media_items" db=4.6ms idle=26.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "23d2b6ca-c9fa-4f83-ba98-079504f5a01b", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, false, false, 30, [], 98, ~U[2026-06-21 17:30:38Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, 30, ~U[2026-06-21 17:30:38Z]] 07:38:56.008 [debug] QUERY OK source="sources" db=0.7ms idle=27.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:38:56.012 [debug] QUERY OK source="media_items" db=4.3ms idle=12.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-20 17:30:08Z], 30] 07:38:56.013 [debug] QUERY OK source="media_items" db=1.1ms idle=15.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "483ffbf2-6eb5-4335-84ca-ebee88552c9a", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, false, false, 30, [], 98, ~U[2026-06-20 17:30:08Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, 30, ~U[2026-06-20 17:30:08Z]] 07:38:56.014 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [30] 07:38:56.019 [debug] QUERY OK source="media_items" db=4.5ms idle=8.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-18 17:30:02Z], 30] 07:38:56.020 [debug] QUERY OK source="media_items" db=1.0ms idle=11.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "13b58a3d-9004-4d2d-8e72-e8cf5d2b6f33", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, false, false, 30, [], 98, ~U[2026-06-18 17:30:02Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, 30, ~U[2026-06-18 17:30:02Z]] 07:38:56.021 [debug] QUERY OK source="sources" db=0.6ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:56.025 [debug] QUERY OK source="media_items" db=4.1ms idle=7.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 17:30:31Z], 30] 07:38:56.027 [debug] QUERY OK source="media_items" db=1.0ms idle=11.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "12409b89-259a-4787-963f-76a03924e19d", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, false, false, 30, [], 98, ~U[2026-06-17 17:30:31Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, 30, ~U[2026-06-17 17:30:31Z]] 07:38:56.028 [debug] QUERY OK source="sources" db=0.5ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:56.032 [debug] QUERY OK source="media_items" db=4.1ms idle=7.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 17:30:08Z], 30] 07:38:56.033 [debug] QUERY OK source="media_items" db=1.2ms idle=10.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "d59fdf90-923f-4a1a-b53c-59fdaa16f88c", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, false, false, 30, [], 98, ~U[2026-06-16 17:30:08Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, 30, ~U[2026-06-16 17:30:08Z]] 07:38:56.034 [debug] QUERY OK source="sources" db=0.5ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:56.038 [debug] QUERY OK source="media_items" db=4.0ms idle=7.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-15 17:30:03Z], 30] 07:38:56.040 [debug] QUERY OK source="media_items" db=1.0ms idle=10.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "1501dc6d-58d6-461f-b021-a90a86de337f", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, false, false, 30, [], 98, ~U[2026-06-15 17:30:03Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, 30, ~U[2026-06-15 17:30:03Z]] 07:38:56.041 [debug] QUERY OK source="sources" db=0.5ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:56.045 [debug] QUERY OK source="media_items" db=4.0ms idle=7.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-14 17:30:02Z], 30] 07:38:56.048 [debug] QUERY OK source="media_items" db=3.2ms idle=10.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "fb0671ca-06f0-41b6-b245-6876c2618a0a", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, false, false, 30, [], 98, ~U[2026-06-14 17:30:02Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, 30, ~U[2026-06-14 17:30:02Z]] 07:38:56.049 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [30] 07:38:56.054 [debug] QUERY OK source="media_items" db=4.3ms idle=9.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-13 17:30:17Z], 30] 07:38:56.055 [debug] QUERY OK source="media_items" db=1.1ms idle=13.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "583a798d-07bd-4448-8408-ae2a39b9f343", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, false, false, 30, [], 98, ~U[2026-06-13 17:30:17Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, 30, ~U[2026-06-13 17:30:17Z]] 07:38:56.056 [debug] QUERY OK source="sources" db=0.6ms idle=10.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:56.061 [debug] QUERY OK source="media_items" db=4.2ms idle=7.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-12 17:30:31Z], 30] 07:38:56.062 [debug] QUERY OK source="media_items" db=1.2ms idle=11.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "fc45c183-c20b-48d4-8d02-4a4570095576", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, false, false, 30, [], 98, ~U[2026-06-12 17:30:31Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, 30, ~U[2026-06-12 17:30:31Z]] 07:38:56.063 [debug] QUERY OK source="sources" db=0.6ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:56.067 [debug] QUERY OK source="media_items" db=4.1ms idle=8.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-11 17:30:24Z], 30] 07:38:56.069 [debug] QUERY OK source="media_items" db=1.0ms idle=11.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "d9d11c8d-688f-4787-bd58-00548de813f5", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, false, false, 30, [], 98, ~U[2026-06-11 17:30:24Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, 30, ~U[2026-06-11 17:30:24Z]] 07:38:56.069 [debug] QUERY OK source="sources" db=0.6ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:56.074 [debug] QUERY OK source="media_items" db=4.1ms idle=7.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-10 17:30:12Z], 30] 07:38:56.075 [debug] QUERY OK source="media_items" db=1.1ms idle=10.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "7b7ca59f-d848-4af1-96ed-1b09edb8f34e", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, false, false, 30, [], 98, ~U[2026-06-10 17:30:12Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, 30, ~U[2026-06-10 17:30:12Z]] 07:38:56.076 [debug] QUERY OK source="sources" db=0.5ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:56.080 [debug] QUERY OK source="media_items" db=4.2ms 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-09 18:47:18Z], 30] 07:38:56.082 [debug] QUERY OK source="media_items" db=1.2ms idle=11.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "586224d6-5823-48bd-9edf-b374a87ecce9", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, false, false, 30, [], 98, ~U[2026-06-09 18:47:18Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, 30, ~U[2026-06-09 18:47:18Z]] 07:38:56.083 [debug] QUERY OK source="sources" db=0.6ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:56.087 [debug] QUERY OK source="media_items" db=4.1ms idle=7.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-08 17:30:24Z], 30] 07:38:56.088 [debug] QUERY OK source="media_items" db=1.0ms idle=11.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "cc14daec-99d8-4edc-9dd0-5e96ef42d6d8", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, false, false, 30, [], 98, ~U[2026-06-08 17:30:24Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, 30, ~U[2026-06-08 17:30:24Z]] 07:38:56.089 [debug] QUERY OK source="sources" db=0.6ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 07:38:56.093 [debug] QUERY OK source="media_items" db=4.0ms idle=7.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 17:30:02Z], 30] 07:38:56.095 [debug] QUERY OK source="media_items" db=1.1ms idle=10.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "626cdf43-7003-4f1d-a784-9ca7a32d2804", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, false, false, 30, [], 98, ~U[2026-06-07 17:30:02Z], ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], "A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, 30, ~U[2026-06-07 17:30:02Z]] 07:38:56.096 [debug] QUERY OK source="sources" db=0.6ms idle=8.0ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z], 30] 07:38:56.100 [debug] QUERY OK source="media_items" db=4.3ms idle=7.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 07:38:56.105 [debug] QUERY OK source="media_items" db=4.4ms idle=11.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")))) [30] 07:38:56.106 [debug] QUERY OK source="media_items" db=1.0ms idle=11.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 07:38:56.108 [debug] QUERY OK source="tasks" db=0.8ms idle=6.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419853, 30, ~U[2026-06-29 12:38:56Z], ~U[2026-06-29 12:38:56Z]] 07:38:56.109 [info] {"args":{"id":30},"id":419810,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":38445377,"event":"job:stop","queue_time":657064,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 07:39:00.065 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:39:00.740 [info] {"args":{"id":46},"id":419761,"meta":{},"system_time":1782736740740673978,"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"]} 07:39:00.741 [debug] QUERY OK source="sources" db=0.1ms idle=1583.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:39:00.741 [debug] QUERY OK source="settings" db=0.1ms idle=1009.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:39:00.741 [debug] QUERY OK source="media_items" db=0.4ms idle=676.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")))) [46] 07:39:00.742 [debug] QUERY OK source="media_items" db=0.1ms idle=8.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [46] 07:39:00.742 [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] 07:39:00.742 [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 [] 07:39:00.742 [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 [] 07:39:00.744 [debug] QUERY OK source="media_items" db=0.6ms 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 [46] 07:39:00.745 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 07:39:00.746 [debug] Current batch of media processed. Will check again in 1000ms 07:39:00.746 [debug] QUERY OK source="settings" db=0.1ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:39:00.746 [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 [] 07:39:00.746 [debug] QUERY OK source="settings" db=0.0ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:39:00.746 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/channel/UCngn7SVujlvskHRvRKc1cTw --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/68/0f/680f05fbe043d7811fef11cf6db02550b76591328ac7acbaff495d9f6a3ea888.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/bd/fa/bdfa99460042addde3dea402eec234426e24bc7cf656cd3c8bf8fef6e8315533.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:39:01.747 [debug] Current batch of media processed. Will check again in 1000ms 07:39:02.747 [debug] Current batch of media processed. Will check again in 1000ms 07:39:03.749 [debug] Current batch of media processed. Will check again in 1000ms 07:39:04.750 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 394, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e052900_this video will reach you..mp4", "id" => "zbNV7aphQxM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zbNV7aphQxM", "playlist_index" => 1, "timestamp" => 1780088085, "title" => "this video will reach you.", "upload_date" => "20260529"} 07:39:04.750 [debug] QUERY OK source="sources" db=0.1ms idle=593.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:39:04.750 [debug] QUERY OK source="sources" db=0.1ms idle=593.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:39:04.751 [debug] QUERY OK source="media_items" db=0.4ms idle=593.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-29 20:54:45Z], 46] 07:39:04.752 [debug] QUERY OK source="media_items" db=0.5ms idle=594.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "this video will reach you.", "6f0cae90-b91e-4ee1-81ed-80fd8615bdaf", "zbNV7aphQxM", 394, false, "https://www.youtube.com/watch?v=zbNV7aphQxM", 1, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e052900_this video will reach you..mp4", false, false, false, 46, [], 98, ~U[2026-05-29 20:54:45Z], ~U[2026-06-29 12:39:04Z], ~U[2026-06-29 12:39:04Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "this video will reach you.", "zbNV7aphQxM", 394, false, "https://www.youtube.com/watch?v=zbNV7aphQxM", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e052900_this video will reach you..mp4", false, 46, ~U[2026-05-29 20:54:45Z]] 07:39:04.752 [debug] QUERY OK source="sources" db=0.1ms idle=13.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:39:04.752 [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] 07:39:04.753 [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 [3070801] 07:39:04.753 [debug] Current batch of media processed. Will check again in 1000ms 07:39:05.754 [debug] Current batch of media processed. Will check again in 1000ms 07:39:06.755 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 744, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e050600_where intelligence ends & wisdom starts ?.mp4", "id" => "cB4VjDpNMrU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cB4VjDpNMrU", "playlist_index" => 2, "timestamp" => 1778047426, "title" => "where intelligence ends & wisdom starts ?", "upload_date" => "20260506"} 07:39:06.756 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=598.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:39:06.757 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=599.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:39:06.757 [debug] QUERY OK source="media_items" db=0.5ms idle=600.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-06 06:03:46Z], 46] 07:39:06.758 [debug] QUERY OK source="media_items" db=0.5ms idle=600.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "where intelligence ends & wisdom starts ?", "d147056d-13b3-4fed-8f8a-39cefdd3e0d4", "cB4VjDpNMrU", 744, false, "https://www.youtube.com/watch?v=cB4VjDpNMrU", 2, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e050600_where intelligence ends & wisdom starts ?.mp4", false, false, false, 46, [], 98, ~U[2026-05-06 06:03:46Z], ~U[2026-06-29 12:39:06Z], ~U[2026-06-29 12:39:06Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "where intelligence ends & wisdom starts ?", "cB4VjDpNMrU", 744, false, "https://www.youtube.com/watch?v=cB4VjDpNMrU", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e050600_where intelligence ends & wisdom starts ?.mp4", false, 46, ~U[2026-05-06 06:03:46Z]] 07:39:06.758 [debug] QUERY OK source="sources" db=0.1ms idle=16.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 07:39:06.759 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:39:06.759 [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 [2889160] 07:39:06.759 [debug] Current batch of media processed. Will check again in 1000ms 07:39:07.760 [debug] Current batch of media processed. Will check again in 1000ms 07:39:08.761 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 549, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022800_Linux ⧸ FOSS are irrelevant in the future.mp4", "id" => "fLmIRC8R19s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fLmIRC8R19s", "playlist_index" => 3, "timestamp" => 1772314079, "title" => "Linux / FOSS are irrelevant in the future", "upload_date" => "20260228"} 07:39:08.761 [debug] QUERY OK source="sources" db=0.2ms idle=604.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:39:08.761 [debug] QUERY OK source="sources" db=0.1ms idle=604.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:39:08.762 [debug] QUERY OK source="media_items" db=0.4ms idle=604.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-28 21:27:59Z], 46] 07:39:08.763 [debug] QUERY OK source="media_items" db=0.6ms idle=605.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Linux / FOSS are irrelevant in the future", "0ff25fda-6b54-4903-a802-30845e004e28", "fLmIRC8R19s", 549, false, "https://www.youtube.com/watch?v=fLmIRC8R19s", 3, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022800_Linux ⧸ FOSS are irrelevant in the future.mp4", false, false, false, 46, [], 98, ~U[2026-02-28 21:27:59Z], ~U[2026-06-29 12:39:08Z], ~U[2026-06-29 12:39:08Z], "Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Linux / FOSS are irrelevant in the future", "fLmIRC8R19s", 549, false, "https://www.youtube.com/watch?v=fLmIRC8R19s", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022800_Linux ⧸ FOSS are irrelevant in the future.mp4", false, 46, ~U[2026-02-28 21:27:59Z]] 07:39:08.763 [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" = ?) [46] 07:39:08.763 [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] 07:39:08.764 [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 [2377781] 07:39:08.764 [debug] Current batch of media processed. Will check again in 1000ms 07:39:09.765 [debug] Current batch of media processed. Will check again in 1000ms 07:39:10.766 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 507, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022600_HOST FREE from home (no tunnel, no VPS, no Static IP).mp4", "id" => "7y60xBovdnI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7y60xBovdnI", "playlist_index" => 4, "timestamp" => 1772097703, "title" => "HOST FREE from home (no tunnel, no VPS, no Static IP)", "upload_date" => "20260226"} 07:39:10.766 [debug] QUERY OK source="sources" db=0.1ms idle=609.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:39:10.767 [debug] QUERY OK source="sources" db=0.1ms idle=609.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:39:10.767 [debug] QUERY OK source="media_items" db=0.4ms idle=610.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-26 09:21:43Z], 46] 07:39:10.768 [debug] QUERY OK source="media_items" db=0.4ms idle=610.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "HOST FREE from home (no tunnel, no VPS, no Static IP)", "2c2bf1b5-0df1-4421-8f78-c1a188522704", "7y60xBovdnI", 507, false, "https://www.youtube.com/watch?v=7y60xBovdnI", 4, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022600_HOST FREE from home (no tunnel, no VPS, no Static IP).mp4", false, false, false, 46, [], 98, ~U[2026-02-26 09:21:43Z], ~U[2026-06-29 12:39:10Z], ~U[2026-06-29 12:39:10Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "HOST FREE from home (no tunnel, no VPS, no Static IP)", "7y60xBovdnI", 507, false, "https://www.youtube.com/watch?v=7y60xBovdnI", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022600_HOST FREE from home (no tunnel, no VPS, no Static IP).mp4", false, 46, ~U[2026-02-26 09:21:43Z]] 07:39:10.768 [debug] QUERY OK source="sources" db=0.1ms idle=20.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 07:39:10.769 [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] 07:39:10.769 [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 [2358266] 07:39:10.769 [debug] Current batch of media processed. Will check again in 1000ms 07:39:11.770 [debug] Current batch of media processed. Will check again in 1000ms 07:39:12.771 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 684, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022000_MacOS *float vs Hyprland *tile.mp4", "id" => "LrOuqMzKdAE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LrOuqMzKdAE", "playlist_index" => 5, "timestamp" => 1771588269, "title" => "MacOS *float vs Hyprland *tile", "upload_date" => "20260220"} 07:39:12.771 [debug] QUERY OK source="sources" db=0.1ms idle=613.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:39:12.771 [debug] QUERY OK source="sources" db=0.0ms idle=614.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:39:12.772 [debug] QUERY OK source="media_items" db=0.3ms idle=614.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-20 11:51:09Z], 46] 07:39:12.773 [debug] QUERY OK source="media_items" db=0.5ms idle=615.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "MacOS *float vs Hyprland *tile", "56b208a6-1eb1-4243-bfd7-7558d4b59342", "LrOuqMzKdAE", 684, false, "https://www.youtube.com/watch?v=LrOuqMzKdAE", 5, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022000_MacOS *float vs Hyprland *tile.mp4", false, false, false, 46, [], 98, ~U[2026-02-20 11:51:09Z], ~U[2026-06-29 12:39:12Z], ~U[2026-06-29 12:39:12Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "MacOS *float vs Hyprland *tile", "LrOuqMzKdAE", 684, false, "https://www.youtube.com/watch?v=LrOuqMzKdAE", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022000_MacOS *float vs Hyprland *tile.mp4", false, 46, ~U[2026-02-20 11:51:09Z]] 07:39:12.773 [debug] QUERY OK source="sources" db=0.1ms idle=21.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:39:12.773 [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] 07:39:12.773 [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 [2312061] 07:39:12.774 [debug] Current batch of media processed. Will check again in 1000ms 07:39:13.775 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "- https://youtu.be/2BO83Ig-E8E\n- https://youtu.be/yZVuMhbNE9s\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 1711, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e021400_freedom is a meme just like your life.mp4", "id" => "kD1VhTacIc8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kD1VhTacIc8", "playlist_index" => 6, "timestamp" => 1771110716, "title" => "freedom is a meme just like your life", "upload_date" => "20260214"} 07:39:13.775 [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 (?)) [46] 07:39:13.775 [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" = ?) [46] 07:39:13.776 [debug] QUERY OK source="media_items" db=0.4ms 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-02-14 23:11:56Z], 46] 07:39:13.777 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["- https://youtu.be/2BO83Ig-E8E\n- https://youtu.be/yZVuMhbNE9s\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "freedom is a meme just like your life", "2397e0c3-3c58-4c23-876f-72bc8b4168ff", "kD1VhTacIc8", 1711, false, "https://www.youtube.com/watch?v=kD1VhTacIc8", 6, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e021400_freedom is a meme just like your life.mp4", false, false, false, 46, [], 98, ~U[2026-02-14 23:11:56Z], ~U[2026-06-29 12:39:13Z], ~U[2026-06-29 12:39:13Z], "- https://youtu.be/2BO83Ig-E8E\n- https://youtu.be/yZVuMhbNE9s\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "freedom is a meme just like your life", "kD1VhTacIc8", 1711, false, "https://www.youtube.com/watch?v=kD1VhTacIc8", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e021400_freedom is a meme just like your life.mp4", false, 46, ~U[2026-02-14 23:11:56Z]] 07:39:13.777 [debug] QUERY OK source="sources" db=0.1ms idle=24.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 07:39:13.777 [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] 07:39:13.778 [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 [2269214] 07:39:13.778 [debug] Current batch of media processed. Will check again in 1000ms 07:39:14.779 [debug] Current batch of media processed. Will check again in 1000ms 07:39:15.780 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Donation (I put no ads) - https://paypal.me/bugswriter \nMy Mantra Page - https://bugswriter.com/mantra\n\nmaterial - \n- https://plato.stanford.edu/entries/nagarjuna/\n- https://youtu.be/FbZDqFyTWzk\n- https://youtu.be/VIwObHep47s\n- seeker to seeker - emptiness video & 12 link of dependent origination\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 748, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e020900_Tibetan Anti-philosophy can end your DOOM Scrolling.mp4", "id" => "f4vblLRAYSg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f4vblLRAYSg", "playlist_index" => 7, "timestamp" => 1770629468, "title" => "Tibetan Anti-philosophy can end your DOOM Scrolling", "upload_date" => "20260209"} 07:39:15.781 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=623.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:39:15.781 [debug] QUERY OK source="sources" db=0.1ms idle=624.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:39:15.782 [debug] QUERY OK source="media_items" db=0.4ms idle=625.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-09 09:31:08Z], 46] 07:39:15.783 [debug] QUERY OK source="media_items" db=0.7ms idle=625.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Donation (I put no ads) - https://paypal.me/bugswriter \nMy Mantra Page - https://bugswriter.com/mantra\n\nmaterial - \n- https://plato.stanford.edu/entries/nagarjuna/\n- https://youtu.be/FbZDqFyTWzk\n- https://youtu.be/VIwObHep47s\n- seeker to seeker - emptiness video & 12 link of dependent origination\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Tibetan Anti-philosophy can end your DOOM Scrolling", "ed835902-2876-4e59-b4fa-330912c7f164", "f4vblLRAYSg", 748, false, "https://www.youtube.com/watch?v=f4vblLRAYSg", 7, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e020900_Tibetan Anti-philosophy can end your DOOM Scrolling.mp4", false, false, false, 46, [], 98, ~U[2026-02-09 09:31:08Z], ~U[2026-06-29 12:39:15Z], ~U[2026-06-29 12:39:15Z], "Donation (I put no ads) - https://paypal.me/bugswriter \nMy Mantra Page - https://bugswriter.com/mantra\n\nmaterial - \n- https://plato.stanford.edu/entries/nagarjuna/\n- https://youtu.be/FbZDqFyTWzk\n- https://youtu.be/VIwObHep47s\n- seeker to seeker - emptiness video & 12 link of dependent origination\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Tibetan Anti-philosophy can end your DOOM Scrolling", "f4vblLRAYSg", 748, false, "https://www.youtube.com/watch?v=f4vblLRAYSg", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e020900_Tibetan Anti-philosophy can end your DOOM Scrolling.mp4", false, 46, ~U[2026-02-09 09:31:08Z]] 07:39:15.783 [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" = ?) [46] 07:39:15.784 [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] 07:39:15.784 [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 [2225383] 07:39:15.784 [debug] Current batch of media processed. Will check again in 1000ms 07:39:16.785 [debug] Current batch of media processed. Will check again in 1000ms 07:39:17.786 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "duration" => 829, "filename" => "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e012600_Freedom vs Compliance.mp4", "id" => "f5qgJ9xThYs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f5qgJ9xThYs", "playlist_index" => 8, "timestamp" => 1769459768, "title" => "Freedom vs Compliance", "upload_date" => "20260126"} 07:39:17.786 [debug] QUERY OK source="sources" db=0.2ms idle=629.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:39:17.786 [debug] QUERY OK source="sources" db=0.1ms idle=629.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 07:39:17.787 [debug] QUERY OK source="media_items" db=0.4ms idle=629.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-26 20:36:08Z], 46] 07:39:17.788 [debug] QUERY OK source="media_items" db=0.5ms idle=630.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Freedom vs Compliance", "e9abec20-791c-4d35-9b1f-dc89c90eb11f", "f5qgJ9xThYs", 829, false, "https://www.youtube.com/watch?v=f5qgJ9xThYs", 8, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e012600_Freedom vs Compliance.mp4", false, false, false, 46, [], 98, ~U[2026-01-26 20:36:08Z], ~U[2026-06-29 12:39:17Z], ~U[2026-06-29 12:39:17Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Freedom vs Compliance", "f5qgJ9xThYs", 829, false, "https://www.youtube.com/watch?v=f5qgJ9xThYs", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e012600_Freedom vs Compliance.mp4", false, 46, ~U[2026-01-26 20:36:08Z]] 07:39:17.788 [debug] QUERY OK source="sources" db=0.1ms idle=28.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:39:17.788 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:39:17.789 [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 [2117716] 07:39:17.789 [debug] Current batch of media processed. Will check again in 1000ms 07:39:18.666 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/channel/UCngn7SVujlvskHRvRKc1cTw --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/68/0f/680f05fbe043d7811fef11cf6db02550b76591328ac7acbaff495d9f6a3ea888.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/bd/fa/bdfa99460042addde3dea402eec234426e24bc7cf656cd3c8bf8fef6e8315533.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 07:39:18.667 [debug] Gracefully stopping file follower 07:39:18.667 [debug] QUERY OK source="sources" db=0.2ms idle=879.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:39:18.667 [debug] QUERY OK source="sources" db=0.1ms idle=879.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:39:18.668 [debug] QUERY OK source="media_items" db=0.3ms idle=879.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-29 20:54:45Z], 46] 07:39:18.670 [debug] QUERY OK source="media_items" db=1.8ms idle=879.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "this video will reach you.", "b22563ff-f18f-4f64-bbbc-0a047641c863", "zbNV7aphQxM", 394, false, "https://www.youtube.com/watch?v=zbNV7aphQxM", 1, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e052900_this video will reach you..mp4", false, false, false, 46, [], 98, ~U[2026-05-29 20:54:45Z], ~U[2026-06-29 12:39:18Z], ~U[2026-06-29 12:39:18Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "this video will reach you.", "zbNV7aphQxM", 394, false, "https://www.youtube.com/watch?v=zbNV7aphQxM", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e052900_this video will reach you..mp4", false, 46, ~U[2026-05-29 20:54:45Z]] 07:39:18.670 [debug] QUERY OK source="sources" db=0.1ms idle=881.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:39:18.671 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-06 06:03:46Z], 46] 07:39:18.671 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "where intelligence ends & wisdom starts ?", "460a81c3-6836-45ce-803e-66af3d23a6ef", "cB4VjDpNMrU", 744, false, "https://www.youtube.com/watch?v=cB4VjDpNMrU", 2, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e050600_where intelligence ends & wisdom starts ?.mp4", false, false, false, 46, [], 98, ~U[2026-05-06 06:03:46Z], ~U[2026-06-29 12:39:18Z], ~U[2026-06-29 12:39:18Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "where intelligence ends & wisdom starts ?", "cB4VjDpNMrU", 744, false, "https://www.youtube.com/watch?v=cB4VjDpNMrU", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e050600_where intelligence ends & wisdom starts ?.mp4", false, 46, ~U[2026-05-06 06:03:46Z]] 07:39:18.672 [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" = ?) [46] 07:39:18.672 [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-02-28 21:27:59Z], 46] 07:39:18.673 [debug] QUERY OK source="media_items" db=0.4ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Linux / FOSS are irrelevant in the future", "d346e271-3d01-4b97-ba18-60126c5567b4", "fLmIRC8R19s", 549, false, "https://www.youtube.com/watch?v=fLmIRC8R19s", 3, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022800_Linux ⧸ FOSS are irrelevant in the future.mp4", false, false, false, 46, [], 98, ~U[2026-02-28 21:27:59Z], ~U[2026-06-29 12:39:18Z], ~U[2026-06-29 12:39:18Z], "Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Linux / FOSS are irrelevant in the future", "fLmIRC8R19s", 549, false, "https://www.youtube.com/watch?v=fLmIRC8R19s", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022800_Linux ⧸ FOSS are irrelevant in the future.mp4", false, 46, ~U[2026-02-28 21:27:59Z]] 07:39:18.673 [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] 07:39:18.673 [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-02-26 09:21:43Z], 46] 07:39:18.674 [debug] QUERY OK source="media_items" db=0.4ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "HOST FREE from home (no tunnel, no VPS, no Static IP)", "16adb945-dbad-49b1-9ad7-cc6489616e35", "7y60xBovdnI", 507, false, "https://www.youtube.com/watch?v=7y60xBovdnI", 4, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022600_HOST FREE from home (no tunnel, no VPS, no Static IP).mp4", false, false, false, 46, [], 98, ~U[2026-02-26 09:21:43Z], ~U[2026-06-29 12:39:18Z], ~U[2026-06-29 12:39:18Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "HOST FREE from home (no tunnel, no VPS, no Static IP)", "7y60xBovdnI", 507, false, "https://www.youtube.com/watch?v=7y60xBovdnI", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022600_HOST FREE from home (no tunnel, no VPS, no Static IP).mp4", false, 46, ~U[2026-02-26 09:21:43Z]] 07:39:18.674 [debug] QUERY OK source="sources" db=0.2ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 07:39:18.675 [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[2026-02-20 11:51:09Z], 46] 07:39:18.676 [debug] QUERY OK source="media_items" db=0.4ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "MacOS *float vs Hyprland *tile", "fcb84f01-5950-4bd9-9655-fea2c0ac1720", "LrOuqMzKdAE", 684, false, "https://www.youtube.com/watch?v=LrOuqMzKdAE", 5, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022000_MacOS *float vs Hyprland *tile.mp4", false, false, false, 46, [], 98, ~U[2026-02-20 11:51:09Z], ~U[2026-06-29 12:39:18Z], ~U[2026-06-29 12:39:18Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "MacOS *float vs Hyprland *tile", "LrOuqMzKdAE", 684, false, "https://www.youtube.com/watch?v=LrOuqMzKdAE", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e022000_MacOS *float vs Hyprland *tile.mp4", false, 46, ~U[2026-02-20 11:51:09Z]] 07:39:18.676 [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] 07:39:18.676 [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-02-14 23:11:56Z], 46] 07:39:18.677 [debug] QUERY OK source="media_items" db=0.5ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["- https://youtu.be/2BO83Ig-E8E\n- https://youtu.be/yZVuMhbNE9s\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "freedom is a meme just like your life", "3ff7c604-9bc6-4bdf-96ab-ab71e07373a0", "kD1VhTacIc8", 1711, false, "https://www.youtube.com/watch?v=kD1VhTacIc8", 6, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e021400_freedom is a meme just like your life.mp4", false, false, false, 46, [], 98, ~U[2026-02-14 23:11:56Z], ~U[2026-06-29 12:39:18Z], ~U[2026-06-29 12:39:18Z], "- https://youtu.be/2BO83Ig-E8E\n- https://youtu.be/yZVuMhbNE9s\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "freedom is a meme just like your life", "kD1VhTacIc8", 1711, false, "https://www.youtube.com/watch?v=kD1VhTacIc8", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e021400_freedom is a meme just like your life.mp4", false, 46, ~U[2026-02-14 23:11:56Z]] 07:39:18.677 [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] 07:39:18.678 [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-02-09 09:31:08Z], 46] 07:39:18.679 [debug] QUERY OK source="media_items" db=0.5ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Donation (I put no ads) - https://paypal.me/bugswriter \nMy Mantra Page - https://bugswriter.com/mantra\n\nmaterial - \n- https://plato.stanford.edu/entries/nagarjuna/\n- https://youtu.be/FbZDqFyTWzk\n- https://youtu.be/VIwObHep47s\n- seeker to seeker - emptiness video & 12 link of dependent origination\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Tibetan Anti-philosophy can end your DOOM Scrolling", "01ca606b-2f50-47ee-948d-ec577aabee24", "f4vblLRAYSg", 748, false, "https://www.youtube.com/watch?v=f4vblLRAYSg", 7, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e020900_Tibetan Anti-philosophy can end your DOOM Scrolling.mp4", false, false, false, 46, [], 98, ~U[2026-02-09 09:31:08Z], ~U[2026-06-29 12:39:18Z], ~U[2026-06-29 12:39:18Z], "Donation (I put no ads) - https://paypal.me/bugswriter \nMy Mantra Page - https://bugswriter.com/mantra\n\nmaterial - \n- https://plato.stanford.edu/entries/nagarjuna/\n- https://youtu.be/FbZDqFyTWzk\n- https://youtu.be/VIwObHep47s\n- seeker to seeker - emptiness video & 12 link of dependent origination\n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Tibetan Anti-philosophy can end your DOOM Scrolling", "f4vblLRAYSg", 748, false, "https://www.youtube.com/watch?v=f4vblLRAYSg", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e020900_Tibetan Anti-philosophy can end your DOOM Scrolling.mp4", false, 46, ~U[2026-02-09 09:31:08Z]] 07:39:18.679 [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" = ?) [46] 07:39:18.679 [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-01-26 20:36:08Z], 46] 07:39:18.680 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Freedom vs Compliance", "7ed77856-dd32-4448-996f-564da41e1858", "f5qgJ9xThYs", 829, false, "https://www.youtube.com/watch?v=f5qgJ9xThYs", 8, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e012600_Freedom vs Compliance.mp4", false, false, false, 46, [], 98, ~U[2026-01-26 20:36:08Z], ~U[2026-06-29 12:39:18Z], ~U[2026-06-29 12:39:18Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Freedom vs Compliance", "f5qgJ9xThYs", 829, false, "https://www.youtube.com/watch?v=f5qgJ9xThYs", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e012600_Freedom vs Compliance.mp4", false, 46, ~U[2026-01-26 20:36:08Z]] 07:39:18.680 [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] 07:39:18.681 [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-01-11 23:25:59Z], 46] 07:39:18.682 [debug] QUERY OK source="media_items" db=1.0ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Why developers fail earning $$$ (independently) ?", "b48acaec-3868-4548-8472-2593d41c9e0f", "giQ_7l5p2Kg", 727, false, "https://www.youtube.com/watch?v=giQ_7l5p2Kg", 9, "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e011100_Why developers fail earning $$$ (independently) ?.mp4", false, false, false, 46, [], 98, ~U[2026-01-11 23:25:59Z], ~U[2026-06-29 12:39:18Z], ~U[2026-06-29 12:39:18Z], "read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Why developers fail earning $$$ (independently) ?", "giQ_7l5p2Kg", 727, false, "https://www.youtube.com/watch?v=giQ_7l5p2Kg", "/downloads/chris/tubes/BugsWriter_[UCngn7SVujlvskHRvRKc1cTw]/Season 2026/s2026e011100_Why developers fail earning $$$ (independently) ?.mp4", false, 46, ~U[2026-01-11 23:25:59Z]] 07:39:18.682 [debug] QUERY OK source="sources" db=0.2ms idle=2.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 12:39:18Z], ~U[2026-06-29 12:39:18Z], 46] 07:39:18.683 [debug] QUERY OK source="media_items" db=0.5ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [46] 07:39:18.683 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [46] 07:39:18.684 [debug] QUERY OK source="media_items" db=0.1ms idle=2.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [46] 07:39:18.685 [debug] QUERY OK source="tasks" db=0.2ms idle=1.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419854, 46, ~U[2026-06-29 12:39:18Z], ~U[2026-06-29 12:39:18Z]] 07:39:18.685 [info] {"args":{"id":46},"id":419761,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":17944739,"event":"job:stop","queue_time":190610,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 07:39:23.207 [info] {"source":"oban","duration":8863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:53.216 [info] {"source":"oban","duration":7472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:00.066 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:40:11.841 [info] {"args":{"id":3310636},"id":419406,"meta":{},"system_time":1782736811841603460,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:40:11.842 [debug] QUERY OK source="media_items" db=0.2ms idle=684.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" = ?) [3310636] 07:40:11.842 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:40:11.842 [debug] QUERY OK source="sources" db=0.6ms idle=685.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:40:11.843 [debug] QUERY OK source="media_profiles" db=0.5ms idle=685.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] 07:40:11.844 [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 [3310636] 07:40:11.846 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.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" = ?) [3310636] 07:40:11.846 [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] 07:40:11.846 [debug] QUERY OK source="settings" db=0.0ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:40:11.846 [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 [] 07:40:11.847 [debug] Running yt-dlp command for action: get_downloadable_status 07:40:11.847 [debug] QUERY OK source="settings" db=0.0ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:40:11.847 [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 [] 07:40:11.848 [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 [] 07:40:11.848 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DYW5_dKatQU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/bd/21bd185ffe27e953e10f790ffc88c0aab6f4d752cf39f865a5ca0f21c6b59b42.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:40:13.514 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DYW5_dKatQU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/bd/21bd185ffe27e953e10f790ffc88c0aab6f4d752cf39f865a5ca0f21c6b59b42.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] DYW5_dKatQU: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:40:13.514 [error] yt-dlp download error for media item #3310636: "ERROR: [youtube] DYW5_dKatQU: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:40:13.515 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3310636},"id":419406,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1673333,"event":"job:exception","queue_time":624720,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:40:23.224 [info] {"source":"oban","duration":8015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:53.233 [info] {"source":"oban","duration":7727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:58.913 [info] {"args":{"id":35},"id":419762,"meta":{},"system_time":1782736858913429609,"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"]} 07:40:58.913 [debug] QUERY OK source="sources" db=0.1ms idle=1756.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:40:58.914 [debug] QUERY OK source="settings" db=0.1ms idle=1756.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:40:58.917 [debug] QUERY OK source="media_items" db=3.0ms idle=1009.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")))) [35] 07:40:58.919 [debug] QUERY OK source="media_items" db=2.3ms idle=11.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 07:40:58.919 [debug] QUERY OK source="media_profiles" db=0.0ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:40:58.920 [debug] QUERY OK source="settings" db=0.0ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:40:58.920 [debug] QUERY OK source="settings" db=0.0ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:40:58.923 [debug] QUERY OK source="media_items" db=1.9ms idle=4.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [35] 07:40:58.924 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 07:40:58.924 [debug] Current batch of media processed. Will check again in 1000ms 07:40:58.924 [debug] QUERY OK source="settings" db=0.1ms 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 [] 07:40:58.924 [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 [] 07:40:58.924 [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 [] 07:40:58.925 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/0f/46/0f46254c93886d1ac22ef2d6207ed3ab6e5509b127e3287f8033875ea229b497.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/68/e4/68e46be6c95b5698f8eb40ed51303457a0a87d8267a33174727ac47835d9c8c7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:40:59.924 [debug] Current batch of media processed. Will check again in 1000ms 07:41:00.067 [info] {"source":"oban","duration":459,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:41:00.926 [debug] Current batch of media processed. Will check again in 1000ms 07:41:01.927 [debug] Current batch of media processed. Will check again in 1000ms 07:41:02.928 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "RefreshOS 3 brings together the stability of Debian 13 and the beauty of KDE Plasma 6 into a desktop experience that simply feels right. Built with Qt 6 and the Linux 6.12 kernel, it delivers a modern desktop that feels fast, clean, smooth, and genuinely enjoyable to use every day.\n\nREFERENCED:\n► https://refreshos.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 1316, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062600_RefreshOS Combines Debian Stability With KDE Beauty.mp4", "id" => "YzdDDY5JEBA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YzdDDY5JEBA", "playlist_index" => 1, "timestamp" => 1782478816, "title" => "RefreshOS Combines Debian Stability With KDE Beauty", "upload_date" => "20260626"} 07:41:02.928 [debug] QUERY OK source="sources" db=0.2ms idle=1017.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:02.929 [debug] QUERY OK source="sources" db=0.1ms idle=771.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:02.932 [debug] QUERY OK source="media_items" db=3.1ms idle=772.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-26 13:00:16Z], 35] 07:41:02.933 [debug] QUERY OK source="media_items" db=1.0ms idle=775.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["RefreshOS 3 brings together the stability of Debian 13 and the beauty of KDE Plasma 6 into a desktop experience that simply feels right. Built with Qt 6 and the Linux 6.12 kernel, it delivers a modern desktop that feels fast, clean, smooth, and genuinely enjoyable to use every day.\n\nREFERENCED:\n► https://refreshos.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "RefreshOS Combines Debian Stability With KDE Beauty", "94933af6-616c-4906-b0bb-63d568a067e2", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", 1, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062600_RefreshOS Combines Debian Stability With KDE Beauty.mp4", false, false, false, 35, [], 98, ~U[2026-06-26 13:00:16Z], ~U[2026-06-29 12:41:02Z], ~U[2026-06-29 12:41:02Z], "RefreshOS 3 brings together the stability of Debian 13 and the beauty of KDE Plasma 6 into a desktop experience that simply feels right. Built with Qt 6 and the Linux 6.12 kernel, it delivers a modern desktop that feels fast, clean, smooth, and genuinely enjoyable to use every day.\n\nREFERENCED:\n► https://refreshos.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "RefreshOS Combines Debian Stability With KDE Beauty", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062600_RefreshOS Combines Debian Stability With KDE Beauty.mp4", false, 35, ~U[2026-06-26 13:00:16Z]] 07:41:02.934 [debug] QUERY OK source="sources" db=0.4ms idle=22.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:02.934 [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] 07:41:02.934 [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 [3288646] 07:41:02.934 [debug] Current batch of media processed. Will check again in 1000ms 07:41:03.935 [debug] Current batch of media processed. Will check again in 1000ms 07:41:04.937 [debug] Current batch of media processed. Will check again in 1000ms 07:41:05.938 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "BoxBuddy is a graphical frontend to distrobox, which allows you to install packages from other Linux distro's repositories.\n\nREFERENCED:\n► https://github.com/Dvlv/BoxBuddyRS\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 915, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062100_Install Programs From Any Linux Distro With BoxBuddy.mp4", "id" => "tFINFcTJ2BA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tFINFcTJ2BA", "playlist_index" => 2, "timestamp" => 1782046833, "title" => "Install Programs From Any Linux Distro With BoxBuddy", "upload_date" => "20260621"} 07:41:05.939 [debug] QUERY OK source="sources" db=0.1ms idle=1782.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:05.939 [debug] QUERY OK source="sources" db=0.1ms idle=1782.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:05.942 [debug] QUERY OK source="media_items" db=2.7ms idle=1782.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-21 13:00:33Z], 35] 07:41:05.944 [debug] QUERY OK source="media_items" db=1.0ms idle=1028.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["BoxBuddy is a graphical frontend to distrobox, which allows you to install packages from other Linux distro's repositories.\n\nREFERENCED:\n► https://github.com/Dvlv/BoxBuddyRS\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Install Programs From Any Linux Distro With BoxBuddy", "bdcf8a47-053d-42de-8b82-e644382d30b6", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", 2, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062100_Install Programs From Any Linux Distro With BoxBuddy.mp4", false, false, false, 35, [], 98, ~U[2026-06-21 13:00:33Z], ~U[2026-06-29 12:41:05Z], ~U[2026-06-29 12:41:05Z], "BoxBuddy is a graphical frontend to distrobox, which allows you to install packages from other Linux distro's repositories.\n\nREFERENCED:\n► https://github.com/Dvlv/BoxBuddyRS\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Install Programs From Any Linux Distro With BoxBuddy", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062100_Install Programs From Any Linux Distro With BoxBuddy.mp4", false, 35, ~U[2026-06-21 13:00:33Z]] 07:41:05.944 [debug] QUERY OK source="sources" db=0.2ms idle=27.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:05.944 [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] 07:41:05.944 [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 [3249148] 07:41:05.945 [debug] Current batch of media processed. Will check again in 1000ms 07:41:06.946 [debug] Current batch of media processed. Will check again in 1000ms 07:41:07.947 [debug] Current batch of media processed. Will check again in 1000ms 07:41:08.949 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Random thoughts about the state of Arch Linux after this massive malware attack on the AUR.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 722, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061600_Is It Time To Leave Arch Linux?.mp4", "id" => "pFkGmcpQmTI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pFkGmcpQmTI", "playlist_index" => 3, "timestamp" => 1781614828, "title" => "Is It Time To Leave Arch Linux?", "upload_date" => "20260616"} 07:41:08.949 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1792.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:08.950 [debug] QUERY OK source="sources" db=0.1ms idle=1792.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:08.953 [debug] QUERY OK source="media_items" db=3.0ms idle=1793.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 13:00:28Z], 35] 07:41:08.954 [debug] QUERY OK source="media_items" db=0.8ms idle=1034.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Random thoughts about the state of Arch Linux after this massive malware attack on the AUR.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is It Time To Leave Arch Linux?", "56033868-a0b0-441f-bbd5-5c6835c5a0e0", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", 3, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061600_Is It Time To Leave Arch Linux?.mp4", false, false, false, 35, [], 98, ~U[2026-06-16 13:00:28Z], ~U[2026-06-29 12:41:08Z], ~U[2026-06-29 12:41:08Z], "Random thoughts about the state of Arch Linux after this massive malware attack on the AUR.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is It Time To Leave Arch Linux?", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061600_Is It Time To Leave Arch Linux?.mp4", false, 35, ~U[2026-06-16 13:00:28Z]] 07:41:08.954 [debug] QUERY OK source="sources" db=0.1ms idle=33.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:08.955 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.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] 07:41:08.955 [debug] QUERY OK source="media_items" db=0.1ms 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 [3209684] 07:41:08.955 [debug] Current batch of media processed. Will check again in 1000ms 07:41:09.956 [debug] Current batch of media processed. Will check again in 1000ms 07:41:10.957 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Arch contributors are cleaning up a malware incident in the AUR after suspicious updates appeared across several user-maintained packages.\n\nREFERENCED:\n► https://linuxiac.com/arch-linux-aur-malware-campaign-hits-multiple-user-contributed-packages/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 362, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061200_Major Malware Incident Hits Arch AUR!.mp4", "id" => "gxC_QPqsZh0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gxC_QPqsZh0", "playlist_index" => 4, "timestamp" => 1781281820, "title" => "Major Malware Incident Hits Arch AUR!", "upload_date" => "20260612"} 07:41:10.957 [debug] QUERY OK source="sources" db=0.1ms idle=800.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:10.958 [debug] QUERY OK source="sources" db=0.1ms idle=800.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:10.961 [debug] QUERY OK source="media_items" db=3.0ms idle=801.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-12 16:30:20Z], 35] 07:41:10.962 [debug] QUERY OK source="media_items" db=0.9ms idle=804.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch contributors are cleaning up a malware incident in the AUR after suspicious updates appeared across several user-maintained packages.\n\nREFERENCED:\n► https://linuxiac.com/arch-linux-aur-malware-campaign-hits-multiple-user-contributed-packages/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Major Malware Incident Hits Arch AUR!", "7e06ed7d-f914-4736-bde5-03e647af4de7", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", 4, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061200_Major Malware Incident Hits Arch AUR!.mp4", false, false, false, 35, [], 98, ~U[2026-06-12 16:30:20Z], ~U[2026-06-29 12:41:10Z], ~U[2026-06-29 12:41:10Z], "Arch contributors are cleaning up a malware incident in the AUR after suspicious updates appeared across several user-maintained packages.\n\nREFERENCED:\n► https://linuxiac.com/arch-linux-aur-malware-campaign-hits-multiple-user-contributed-packages/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Major Malware Incident Hits Arch AUR!", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061200_Major Malware Incident Hits Arch AUR!.mp4", false, 35, ~U[2026-06-12 16:30:20Z]] 07:41:10.963 [debug] QUERY OK source="sources" db=0.2ms idle=37.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:10.963 [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] 07:41:10.963 [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 [3178989] 07:41:10.963 [debug] Current batch of media processed. Will check again in 1000ms 07:41:11.965 [debug] Current batch of media processed. Will check again in 1000ms 07:41:12.966 [debug] Current batch of media processed. Will check again in 1000ms 07:41:13.967 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For decades, Linux enthusiasts have dreamed of \"the Year of the Linux Desktop.\" Despite Linux powering much of the internet, if not most of the internet, as well as cloud computing, and even Android, desktop Linux has remained a niche choice for most computer users. But artificial intelligence may finally change that.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 826, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060800_A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!).mp4", "id" => "LuvxUKBXkqA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LuvxUKBXkqA", "playlist_index" => 5, "timestamp" => 1780923633, "title" => "A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!)", "upload_date" => "20260608"} 07:41:13.967 [debug] QUERY OK source="sources" db=0.1ms idle=1810.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:13.967 [debug] QUERY OK source="sources" db=0.1ms idle=1810.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:13.970 [debug] QUERY OK source="media_items" db=2.7ms idle=1810.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-08 13:00:33Z], 35] 07:41:13.972 [debug] QUERY OK source="media_items" db=0.9ms idle=1042.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["For decades, Linux enthusiasts have dreamed of \"the Year of the Linux Desktop.\" Despite Linux powering much of the internet, if not most of the internet, as well as cloud computing, and even Android, desktop Linux has remained a niche choice for most computer users. But artificial intelligence may finally change that.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!)", "a680f5f8-3496-4419-9fd6-f3f421d8228a", "LuvxUKBXkqA", 826, false, "https://www.youtube.com/watch?v=LuvxUKBXkqA", 5, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060800_A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!).mp4", false, false, false, 35, [], 98, ~U[2026-06-08 13:00:33Z], ~U[2026-06-29 12:41:13Z], ~U[2026-06-29 12:41:13Z], "For decades, Linux enthusiasts have dreamed of \"the Year of the Linux Desktop.\" Despite Linux powering much of the internet, if not most of the internet, as well as cloud computing, and even Android, desktop Linux has remained a niche choice for most computer users. But artificial intelligence may finally change that.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!)", "LuvxUKBXkqA", 826, false, "https://www.youtube.com/watch?v=LuvxUKBXkqA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060800_A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!).mp4", false, 35, ~U[2026-06-08 13:00:33Z]] 07:41:13.972 [debug] QUERY OK source="sources" db=0.1ms idle=42.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:13.972 [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] 07:41:13.973 [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 [3146498] 07:41:13.973 [debug] Current batch of media processed. Will check again in 1000ms 07:41:14.973 [debug] Current batch of media processed. Will check again in 1000ms 07:41:15.975 [debug] Current batch of media processed. Will check again in 1000ms 07:41:16.976 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Have you ever wanted to automate certain tasks on your Linux system? Maybe a backup, or system cleanup, or running a specific script every week or every month. Cronie allows you to easily schedule such tasks on your Linux machine.\n\nREFERENCED:\n► https://wiki.archlinux.org/title/Cron\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 597, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060200_How To Schedule Linux Jobs With Cronie.mp4", "id" => "FPVQ_w0wxCI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FPVQ_w0wxCI", "playlist_index" => 6, "timestamp" => 1780405224, "title" => "How To Schedule Linux Jobs With Cronie", "upload_date" => "20260602"} 07:41:16.977 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1820.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:16.977 [debug] QUERY OK source="sources" db=0.1ms idle=1820.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:16.980 [debug] QUERY OK source="media_items" db=2.7ms idle=1821.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-02 13:00:24Z], 35] 07:41:16.982 [debug] QUERY OK source="media_items" db=0.9ms idle=1048.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Have you ever wanted to automate certain tasks on your Linux system? Maybe a backup, or system cleanup, or running a specific script every week or every month. Cronie allows you to easily schedule such tasks on your Linux machine.\n\nREFERENCED:\n► https://wiki.archlinux.org/title/Cron\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "How To Schedule Linux Jobs With Cronie", "23dabcdb-0ed1-4f42-8e7d-53d3b0baff06", "FPVQ_w0wxCI", 597, false, "https://www.youtube.com/watch?v=FPVQ_w0wxCI", 6, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060200_How To Schedule Linux Jobs With Cronie.mp4", false, false, false, 35, [], 98, ~U[2026-06-02 13:00:24Z], ~U[2026-06-29 12:41:16Z], ~U[2026-06-29 12:41:16Z], "Have you ever wanted to automate certain tasks on your Linux system? Maybe a backup, or system cleanup, or running a specific script every week or every month. Cronie allows you to easily schedule such tasks on your Linux machine.\n\nREFERENCED:\n► https://wiki.archlinux.org/title/Cron\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "How To Schedule Linux Jobs With Cronie", "FPVQ_w0wxCI", 597, false, "https://www.youtube.com/watch?v=FPVQ_w0wxCI", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060200_How To Schedule Linux Jobs With Cronie.mp4", false, 35, ~U[2026-06-02 13:00:24Z]] 07:41:16.982 [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" = ?) [35] 07:41:16.982 [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] 07:41:16.983 [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 [3099643] 07:41:16.983 [debug] Current batch of media processed. Will check again in 1000ms 07:41:17.984 [debug] Current batch of media processed. Will check again in 1000ms 07:41:18.985 [debug] Current batch of media processed. Will check again in 1000ms 07:41:19.986 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Quarkos is a user friendly, desktop oriented operating system based on Ubuntu Linux with Plasma, optionally Trinity desktop environment, and an added value thanks to unique Q4OS tools integrated. Its goal is to provide Ubuntu based operating system with Q4OS amenities. Unlike Q4OS, which is Debian based, Quarkos is based on Ubuntu.\n\nREFERENCED:\n► https://quark-os.sourceforge.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 879, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052800_A Quick First Look At QuarkOS.mp4", "id" => "kj6ZfmmPHpY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kj6ZfmmPHpY", "playlist_index" => 7, "timestamp" => 1779973203, "title" => "A Quick First Look At QuarkOS", "upload_date" => "20260528"} 07:41:19.987 [debug] QUERY OK source="sources" db=0.7ms idle=1829.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:19.987 [debug] QUERY OK source="sources" db=0.1ms idle=1830.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:19.990 [debug] QUERY OK source="media_items" db=2.8ms idle=1830.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-28 13:00:03Z], 35] 07:41:19.991 [debug] QUERY OK source="media_items" db=1.0ms idle=1052.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Quarkos is a user friendly, desktop oriented operating system based on Ubuntu Linux with Plasma, optionally Trinity desktop environment, and an added value thanks to unique Q4OS tools integrated. Its goal is to provide Ubuntu based operating system with Q4OS amenities. Unlike Q4OS, which is Debian based, Quarkos is based on Ubuntu.\n\nREFERENCED:\n► https://quark-os.sourceforge.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick First Look At QuarkOS", "c457da5a-e105-455b-a2b6-5abc7a78f1d2", "kj6ZfmmPHpY", 879, false, "https://www.youtube.com/watch?v=kj6ZfmmPHpY", 7, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052800_A Quick First Look At QuarkOS.mp4", false, false, false, 35, [], 98, ~U[2026-05-28 13:00:03Z], ~U[2026-06-29 12:41:19Z], ~U[2026-06-29 12:41:19Z], "Quarkos is a user friendly, desktop oriented operating system based on Ubuntu Linux with Plasma, optionally Trinity desktop environment, and an added value thanks to unique Q4OS tools integrated. Its goal is to provide Ubuntu based operating system with Q4OS amenities. Unlike Q4OS, which is Debian based, Quarkos is based on Ubuntu.\n\nREFERENCED:\n► https://quark-os.sourceforge.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick First Look At QuarkOS", "kj6ZfmmPHpY", 879, false, "https://www.youtube.com/watch?v=kj6ZfmmPHpY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052800_A Quick First Look At QuarkOS.mp4", false, 35, ~U[2026-05-28 13:00:03Z]] 07:41:19.992 [debug] QUERY OK source="sources" db=0.1ms idle=52.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:19.992 [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] 07:41:19.992 [debug] QUERY OK source="media_items" db=0.1ms 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 [3060741] 07:41:19.992 [debug] Current batch of media processed. Will check again in 1000ms 07:41:20.994 [debug] Current batch of media processed. Will check again in 1000ms 07:41:21.995 [debug] Current batch of media processed. Will check again in 1000ms 07:41:22.996 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For the last six months, I have had a serious audio bug that greatly limited my ability to record videos. \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 702, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052500_I Almost Quit YouTube Because Of This Audio Issue.mp4", "id" => "lRFfAiQ9Q1I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lRFfAiQ9Q1I", "playlist_index" => 8, "timestamp" => 1779714015, "title" => "I Almost Quit YouTube Because Of This Audio Issue", "upload_date" => "20260525"} 07:41:22.996 [debug] QUERY OK source="sources" db=0.2ms idle=1839.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:22.996 [debug] QUERY OK source="sources" db=0.1ms idle=1839.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:22.999 [debug] QUERY OK source="media_items" db=2.8ms idle=1840.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-25 13:00:15Z], 35] 07:41:23.002 [debug] QUERY OK source="media_items" db=2.0ms idle=1057.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["For the last six months, I have had a serious audio bug that greatly limited my ability to record videos. \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I Almost Quit YouTube Because Of This Audio Issue", "ec56efed-da75-4a9b-b8f8-d2a79e99ed3d", "lRFfAiQ9Q1I", 702, false, "https://www.youtube.com/watch?v=lRFfAiQ9Q1I", 8, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052500_I Almost Quit YouTube Because Of This Audio Issue.mp4", false, false, false, 35, [], 98, ~U[2026-05-25 13:00:15Z], ~U[2026-06-29 12:41:23Z], ~U[2026-06-29 12:41:23Z], "For the last six months, I have had a serious audio bug that greatly limited my ability to record videos. \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I Almost Quit YouTube Because Of This Audio Issue", "lRFfAiQ9Q1I", 702, false, "https://www.youtube.com/watch?v=lRFfAiQ9Q1I", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052500_I Almost Quit YouTube Because Of This Audio Issue.mp4", false, 35, ~U[2026-05-25 13:00:15Z]] 07:41:23.002 [debug] QUERY OK source="sources" db=0.1ms idle=58.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:23.003 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 07:41:23.003 [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 [3037436] 07:41:23.003 [debug] Current batch of media processed. Will check again in 1000ms 07:41:23.241 [info] {"source":"oban","duration":7846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:24.004 [debug] Current batch of media processed. Will check again in 1000ms 07:41:25.006 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I want to try out something different for the next edition of HEY DT. Instead of responding to YouTube comments, I want to respond to voice messages! What could possibly go wrong!\n\nLEAVE ME A VOICE MESSAGE FOR HEY DT:\n► https://www.speakpipe.com/dt (Leave 'Name' too...it can be a fake name!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 163, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052100_Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!).mp4", "id" => "9i276gE7KV8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9i276gE7KV8", "playlist_index" => 9, "timestamp" => 1779378074, "title" => "Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!)", "upload_date" => "20260521"} 07:41:25.006 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1060.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:25.007 [debug] QUERY OK source="sources" db=0.0ms idle=849.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:25.009 [debug] QUERY OK source="media_items" db=2.7ms idle=850.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 15:41:14Z], 35] 07:41:25.011 [debug] QUERY OK source="media_items" db=0.9ms idle=853.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I want to try out something different for the next edition of HEY DT. Instead of responding to YouTube comments, I want to respond to voice messages! What could possibly go wrong!\n\nLEAVE ME A VOICE MESSAGE FOR HEY DT:\n► https://www.speakpipe.com/dt (Leave 'Name' too...it can be a fake name!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!)", "97d5081c-c1ac-49c6-8d57-95acbb0437fd", "9i276gE7KV8", 163, false, "https://www.youtube.com/watch?v=9i276gE7KV8", 9, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052100_Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!).mp4", false, false, false, 35, [], 98, ~U[2026-05-21 15:41:14Z], ~U[2026-06-29 12:41:25Z], ~U[2026-06-29 12:41:25Z], "I want to try out something different for the next edition of HEY DT. Instead of responding to YouTube comments, I want to respond to voice messages! What could possibly go wrong!\n\nLEAVE ME A VOICE MESSAGE FOR HEY DT:\n► https://www.speakpipe.com/dt (Leave 'Name' too...it can be a fake name!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!)", "9i276gE7KV8", 163, false, "https://www.youtube.com/watch?v=9i276gE7KV8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052100_Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!).mp4", false, 35, ~U[2026-05-21 15:41:14Z]] 07:41:25.011 [debug] QUERY OK source="sources" db=0.5ms idle=64.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:25.012 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.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] 07:41:25.012 [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 [3006960] 07:41:25.012 [debug] Current batch of media processed. Will check again in 1000ms 07:41:26.013 [debug] Current batch of media processed. Will check again in 1000ms 07:41:27.013 [debug] Current batch of media processed. Will check again in 1000ms 07:41:28.015 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Linux and Windows are different...obviously. But what are some of the features that Linux has that Windows doesn't?\n\nARTICLE REFERENCED:\n► https://www.xda-developers.com/6-linux-features-windows-still-doesnt-have-in-2026/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 675, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051500_Features Linux Has...But Windows Doesn't!.mp4", "id" => "bldTm7cAHB4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bldTm7cAHB4", "playlist_index" => 10, "timestamp" => 1778850067, "title" => "Features Linux Has...But Windows Doesn't!", "upload_date" => "20260515"} 07:41:28.016 [debug] QUERY OK source="sources" db=0.3ms idle=1858.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:28.016 [debug] QUERY OK source="sources" db=0.1ms idle=1859.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:28.019 [debug] QUERY OK source="media_items" db=2.7ms idle=1859.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-15 13:01:07Z], 35] 07:41:28.054 [debug] QUERY OK source="media_items" db=34.1ms idle=1068.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Linux and Windows are different...obviously. But what are some of the features that Linux has that Windows doesn't?\n\nARTICLE REFERENCED:\n► https://www.xda-developers.com/6-linux-features-windows-still-doesnt-have-in-2026/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Features Linux Has...But Windows Doesn't!", "afd37daa-2347-4c39-8de2-a41eaed709e4", "bldTm7cAHB4", 675, false, "https://www.youtube.com/watch?v=bldTm7cAHB4", 10, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051500_Features Linux Has...But Windows Doesn't!.mp4", false, false, false, 35, [], 98, ~U[2026-05-15 13:01:07Z], ~U[2026-06-29 12:41:28Z], ~U[2026-06-29 12:41:28Z], "Linux and Windows are different...obviously. But what are some of the features that Linux has that Windows doesn't?\n\nARTICLE REFERENCED:\n► https://www.xda-developers.com/6-linux-features-windows-still-doesnt-have-in-2026/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Features Linux Has...But Windows Doesn't!", "bldTm7cAHB4", 675, false, "https://www.youtube.com/watch?v=bldTm7cAHB4", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051500_Features Linux Has...But Windows Doesn't!.mp4", false, 35, ~U[2026-05-15 13:01:07Z]] 07:41:28.054 [debug] QUERY OK source="sources" db=0.3ms idle=101.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:28.055 [debug] QUERY OK source="media_profiles" db=0.2ms idle=38.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:41:28.055 [debug] QUERY OK source="media_items" db=0.1ms idle=38.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 [2959875] 07:41:28.055 [debug] Current batch of media processed. Will check again in 1000ms 07:41:29.056 [debug] Current batch of media processed. Will check again in 1000ms 07:41:30.057 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "These seven shells aliases are practically required if you don't want your terminal experience to suck.\n\nalias ls='ls -lah --color=always --group-directories-first'\nalias rm=' rm -I --preserve-root'\nalias cp='cp -i'\nalias mv='mv -i'\nalias mkdir='mkdir -p'\nalias ping='ping -c 5'\nalias update='sudo pacman -Syu' (or whatever your distro uses!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 782, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051200_7 Aliases That Make The Terminal Great Again.mp4", "id" => "NLCPh9iAknk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NLCPh9iAknk", "playlist_index" => 11, "timestamp" => 1778589064, "title" => "7 Aliases That Make The Terminal Great Again", "upload_date" => "20260512"} 07:41:30.058 [debug] QUERY OK source="sources" db=0.4ms idle=901.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:30.059 [debug] QUERY OK source="sources" db=0.2ms idle=901.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:30.062 [debug] QUERY OK source="media_items" db=2.7ms idle=902.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-12 12:31:04Z], 35] 07:41:30.067 [debug] QUERY OK source="media_items" db=5.0ms idle=905.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["These seven shells aliases are practically required if you don't want your terminal experience to suck.\n\nalias ls='ls -lah --color=always --group-directories-first'\nalias rm=' rm -I --preserve-root'\nalias cp='cp -i'\nalias mv='mv -i'\nalias mkdir='mkdir -p'\nalias ping='ping -c 5'\nalias update='sudo pacman -Syu' (or whatever your distro uses!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "7 Aliases That Make The Terminal Great Again", "486b00e4-ae77-48d0-89e2-87a3c25ef898", "NLCPh9iAknk", 782, false, "https://www.youtube.com/watch?v=NLCPh9iAknk", 11, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051200_7 Aliases That Make The Terminal Great Again.mp4", false, false, false, 35, [], 98, ~U[2026-05-12 12:31:04Z], ~U[2026-06-29 12:41:30Z], ~U[2026-06-29 12:41:30Z], "These seven shells aliases are practically required if you don't want your terminal experience to suck.\n\nalias ls='ls -lah --color=always --group-directories-first'\nalias rm=' rm -I --preserve-root'\nalias cp='cp -i'\nalias mv='mv -i'\nalias mkdir='mkdir -p'\nalias ping='ping -c 5'\nalias update='sudo pacman -Syu' (or whatever your distro uses!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "7 Aliases That Make The Terminal Great Again", "NLCPh9iAknk", 782, false, "https://www.youtube.com/watch?v=NLCPh9iAknk", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051200_7 Aliases That Make The Terminal Great Again.mp4", false, 35, ~U[2026-05-12 12:31:04Z]] 07:41:30.068 [debug] QUERY OK source="sources" db=0.2ms idle=111.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:30.068 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:41:30.069 [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 [2936875] 07:41:30.069 [debug] Current batch of media processed. Will check again in 1000ms 07:41:31.070 [debug] Current batch of media processed. Will check again in 1000ms 07:41:32.071 [debug] Current batch of media processed. Will check again in 1000ms 07:41:33.072 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A serious discussion about one of the biggest problems facing society. Rant incoming!\n\nREFERENCED:\n► Lunduke's Video: https://www.youtube.com/watch?v=jGdyMx4dZQ0\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 1243, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050900_Does Open Source Have A Pedo Problem?.mp4", "id" => "5Gb91JNF89M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5Gb91JNF89M", "playlist_index" => 12, "timestamp" => 1778331617, "title" => "Does Open Source Have A Pedo Problem?", "upload_date" => "20260509"} 07:41:33.072 [debug] QUERY OK source="sources" db=0.2ms idle=1915.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:33.072 [debug] QUERY OK source="sources" db=0.1ms idle=1915.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:33.075 [debug] QUERY OK source="media_items" db=2.8ms idle=1916.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 13:00:17Z], 35] 07:41:33.077 [debug] QUERY OK source="media_items" db=0.9ms idle=1116.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A serious discussion about one of the biggest problems facing society. Rant incoming!\n\nREFERENCED:\n► Lunduke's Video: https://www.youtube.com/watch?v=jGdyMx4dZQ0\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Does Open Source Have A Pedo Problem?", "a5432490-4739-4a18-9025-effe3537f06e", "5Gb91JNF89M", 1243, false, "https://www.youtube.com/watch?v=5Gb91JNF89M", 12, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050900_Does Open Source Have A Pedo Problem?.mp4", false, false, false, 35, [], 98, ~U[2026-05-09 13:00:17Z], ~U[2026-06-29 12:41:33Z], ~U[2026-06-29 12:41:33Z], "A serious discussion about one of the biggest problems facing society. Rant incoming!\n\nREFERENCED:\n► Lunduke's Video: https://www.youtube.com/watch?v=jGdyMx4dZQ0\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Does Open Source Have A Pedo Problem?", "5Gb91JNF89M", 1243, false, "https://www.youtube.com/watch?v=5Gb91JNF89M", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050900_Does Open Source Have A Pedo Problem?.mp4", false, 35, ~U[2026-05-09 13:00:17Z]] 07:41:33.077 [debug] QUERY OK source="sources" db=0.1ms idle=116.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:33.077 [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] 07:41:33.078 [debug] QUERY OK source="media_items" db=0.1ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2913923] 07:41:33.078 [debug] Current batch of media processed. Will check again in 1000ms 07:41:34.079 [debug] Current batch of media processed. Will check again in 1000ms 07:41:35.080 [debug] Current batch of media processed. Will check again in 1000ms 07:41:36.081 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A lengthy, unstructured boomer rant that goes all over the place. Enjoy!\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 1712, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050600_Linux...So Much Has Changed In The Last 20 Years.mp4", "id" => "Ol7kVJx8KcY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ol7kVJx8KcY", "playlist_index" => 13, "timestamp" => 1778072455, "title" => "Linux...So Much Has Changed In The Last 20 Years", "upload_date" => "20260506"} 07:41:36.081 [debug] QUERY OK source="sources" db=0.2ms idle=1924.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:36.082 [debug] QUERY OK source="sources" db=0.1ms idle=1924.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:36.084 [debug] QUERY OK source="media_items" db=2.7ms idle=1925.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-06 13:00:55Z], 35] 07:41:36.086 [debug] QUERY OK source="media_items" db=0.8ms idle=1121.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A lengthy, unstructured boomer rant that goes all over the place. Enjoy!\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Linux...So Much Has Changed In The Last 20 Years", "fc506b98-dfa9-49d9-bce6-6b20c98e30b4", "Ol7kVJx8KcY", 1712, false, "https://www.youtube.com/watch?v=Ol7kVJx8KcY", 13, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050600_Linux...So Much Has Changed In The Last 20 Years.mp4", false, false, false, 35, [], 98, ~U[2026-05-06 13:00:55Z], ~U[2026-06-29 12:41:36Z], ~U[2026-06-29 12:41:36Z], "A lengthy, unstructured boomer rant that goes all over the place. Enjoy!\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Linux...So Much Has Changed In The Last 20 Years", "Ol7kVJx8KcY", 1712, false, "https://www.youtube.com/watch?v=Ol7kVJx8KcY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050600_Linux...So Much Has Changed In The Last 20 Years.mp4", false, 35, ~U[2026-05-06 13:00:55Z]] 07:41:36.086 [debug] QUERY OK source="sources" db=0.1ms idle=120.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:36.086 [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] 07:41:36.087 [debug] QUERY OK source="media_items" db=0.1ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2890917] 07:41:36.087 [debug] Current batch of media processed. Will check again in 1000ms 07:41:37.088 [debug] Current batch of media processed. Will check again in 1000ms 07:41:38.089 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I list some of the free and open source applications that I love to use. I'd install these on every computer of mine, even if the computer was a Windows machine!\n\n0:00 intro\n0:39 brave (or firefox)\n3:04 vlc\n3:59 libreoffice\n5:53 gimp\n7:24 emacs (or vim or geany)\n9:27 kdenlive\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 712, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050300_5 Open Source Apps I'd Install Even On Windows.mp4", "id" => "v0WbKKhod74", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=v0WbKKhod74", "playlist_index" => 14, "timestamp" => 1777813303, "title" => "5 Open Source Apps I'd Install Even On Windows", "upload_date" => "20260503"} 07:41:38.089 [debug] QUERY OK source="sources" db=0.1ms idle=932.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:38.089 [debug] QUERY OK source="sources" db=0.0ms idle=932.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:38.092 [debug] QUERY OK source="media_items" db=2.7ms idle=932.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:01:43Z], 35] 07:41:38.094 [debug] QUERY OK source="media_items" db=0.8ms idle=935.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I list some of the free and open source applications that I love to use. I'd install these on every computer of mine, even if the computer was a Windows machine!\n\n0:00 intro\n0:39 brave (or firefox)\n3:04 vlc\n3:59 libreoffice\n5:53 gimp\n7:24 emacs (or vim or geany)\n9:27 kdenlive\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "5 Open Source Apps I'd Install Even On Windows", "e2c37ae7-db11-4c4a-b282-b44fb0709dbe", "v0WbKKhod74", 712, false, "https://www.youtube.com/watch?v=v0WbKKhod74", 14, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050300_5 Open Source Apps I'd Install Even On Windows.mp4", false, false, false, 35, [], 98, ~U[2026-05-03 13:01:43Z], ~U[2026-06-29 12:41:38Z], ~U[2026-06-29 12:41:38Z], "I list some of the free and open source applications that I love to use. I'd install these on every computer of mine, even if the computer was a Windows machine!\n\n0:00 intro\n0:39 brave (or firefox)\n3:04 vlc\n3:59 libreoffice\n5:53 gimp\n7:24 emacs (or vim or geany)\n9:27 kdenlive\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "5 Open Source Apps I'd Install Even On Windows", "v0WbKKhod74", 712, false, "https://www.youtube.com/watch?v=v0WbKKhod74", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050300_5 Open Source Apps I'd Install Even On Windows.mp4", false, 35, ~U[2026-05-03 13:01:43Z]] 07:41:38.094 [debug] QUERY OK source="sources" db=0.1ms idle=125.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:38.094 [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] 07:41:38.094 [debug] QUERY OK source="media_items" db=0.1ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2868248] 07:41:38.095 [debug] Current batch of media processed. Will check again in 1000ms 07:41:39.096 [debug] Current batch of media processed. Will check again in 1000ms 07:41:40.097 [debug] Current batch of media processed. Will check again in 1000ms 07:41:41.098 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you are a Linux user, a new default folder just appeared in your home directory.\n\nREFERENCED:\n► https://itsfoss.com/news/new-projects-directory-linux/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 329, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e043000_A New Folder Just Appeared In Your Home Directory.mp4", "id" => "tg8PqPcOWjo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tg8PqPcOWjo", "playlist_index" => 15, "timestamp" => 1777554101, "title" => "A New Folder Just Appeared In Your Home Directory", "upload_date" => "20260430"} 07:41:41.099 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1941.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:41.099 [debug] QUERY OK source="sources" db=0.1ms idle=1942.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:41.102 [debug] QUERY OK source="media_items" db=2.8ms idle=1942.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-30 13:01:41Z], 35] 07:41:41.103 [debug] QUERY OK source="media_items" db=0.8ms idle=1131.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["If you are a Linux user, a new default folder just appeared in your home directory.\n\nREFERENCED:\n► https://itsfoss.com/news/new-projects-directory-linux/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A New Folder Just Appeared In Your Home Directory", "35e4341b-27dd-4fa8-a7e3-61b943469e08", "tg8PqPcOWjo", 329, false, "https://www.youtube.com/watch?v=tg8PqPcOWjo", 15, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e043000_A New Folder Just Appeared In Your Home Directory.mp4", false, false, false, 35, [], 98, ~U[2026-04-30 13:01:41Z], ~U[2026-06-29 12:41:41Z], ~U[2026-06-29 12:41:41Z], "If you are a Linux user, a new default folder just appeared in your home directory.\n\nREFERENCED:\n► https://itsfoss.com/news/new-projects-directory-linux/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A New Folder Just Appeared In Your Home Directory", "tg8PqPcOWjo", 329, false, "https://www.youtube.com/watch?v=tg8PqPcOWjo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e043000_A New Folder Just Appeared In Your Home Directory.mp4", false, 35, ~U[2026-04-30 13:01:41Z]] 07:41:41.104 [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" = ?) [35] 07:41:41.104 [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] 07:41:41.104 [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 [2845295] 07:41:41.104 [debug] Current batch of media processed. Will check again in 1000ms 07:41:42.106 [debug] Current batch of media processed. Will check again in 1000ms 07:41:43.107 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, I'm taking a quick first look at the recently released Ubuntu 26.04, codenamed \"Resolute Raccoon.\" This release is especially important because it's the LTS (Long Term Support) release of Ubuntu, meaning it gets 5-years of support!\n\nREFERENCED:\n► https://ubuntu.com/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 1421, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042700_A Quick Look At Ubuntu 26.04 "Resolute Raccoon".mp4", "id" => "3RpHc4Wl0N8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3RpHc4Wl0N8", "playlist_index" => 16, "timestamp" => 1777296686, "title" => "A Quick Look At Ubuntu 26.04 \"Resolute Raccoon\"", "upload_date" => "20260427"} 07:41:43.108 [debug] QUERY OK source="sources" db=0.1ms idle=950.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:43.108 [debug] QUERY OK source="sources" db=0.1ms idle=951.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:43.111 [debug] QUERY OK source="media_items" db=2.7ms idle=951.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-27 13:31:26Z], 35] 07:41:43.112 [debug] QUERY OK source="media_items" db=0.8ms idle=954.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, I'm taking a quick first look at the recently released Ubuntu 26.04, codenamed \"Resolute Raccoon.\" This release is especially important because it's the LTS (Long Term Support) release of Ubuntu, meaning it gets 5-years of support!\n\nREFERENCED:\n► https://ubuntu.com/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick Look At Ubuntu 26.04 \"Resolute Raccoon\"", "03ff0ba0-8d42-49c4-9ada-5b3afbef88de", "3RpHc4Wl0N8", 1421, false, "https://www.youtube.com/watch?v=3RpHc4Wl0N8", 16, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042700_A Quick Look At Ubuntu 26.04 "Resolute Raccoon".mp4", false, false, false, 35, [], 98, ~U[2026-04-27 13:31:26Z], ~U[2026-06-29 12:41:43Z], ~U[2026-06-29 12:41:43Z], "Today, I'm taking a quick first look at the recently released Ubuntu 26.04, codenamed \"Resolute Raccoon.\" This release is especially important because it's the LTS (Long Term Support) release of Ubuntu, meaning it gets 5-years of support!\n\nREFERENCED:\n► https://ubuntu.com/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick Look At Ubuntu 26.04 \"Resolute Raccoon\"", "3RpHc4Wl0N8", 1421, false, "https://www.youtube.com/watch?v=3RpHc4Wl0N8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042700_A Quick Look At Ubuntu 26.04 "Resolute Raccoon".mp4", false, 35, ~U[2026-04-27 13:31:26Z]] 07:41:43.113 [debug] QUERY OK source="sources" db=0.2ms idle=135.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:43.113 [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] 07:41:43.113 [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 [2822371] 07:41:43.114 [debug] Current batch of media processed. Will check again in 1000ms 07:41:44.115 [debug] Current batch of media processed. Will check again in 1000ms 07:41:45.116 [debug] Current batch of media processed. Will check again in 1000ms 07:41:46.117 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Have you ever met someone that was always right about everything? Maybe you think that you are right about everything... \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 457, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042400_I'm Always Right And You're Always Wrong (A Message To Non-Idiots!).mp4", "id" => "o3RJSUBtsFg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=o3RJSUBtsFg", "playlist_index" => 17, "timestamp" => 1777035694, "title" => "I'm Always Right And You're Always Wrong (A Message To Non-Idiots!)", "upload_date" => "20260424"} 07:41:46.118 [debug] QUERY OK source="sources" db=0.2ms idle=1960.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:46.118 [debug] QUERY OK source="sources" db=0.1ms idle=1960.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:46.121 [debug] QUERY OK source="media_items" db=2.9ms idle=1960.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-24 13:01:34Z], 35] 07:41:46.122 [debug] QUERY OK source="media_items" db=0.8ms idle=1141.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Have you ever met someone that was always right about everything? Maybe you think that you are right about everything... \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I'm Always Right And You're Always Wrong (A Message To Non-Idiots!)", "b585ad14-f8b8-4238-b05b-e2a1b87d9fd5", "o3RJSUBtsFg", 457, false, "https://www.youtube.com/watch?v=o3RJSUBtsFg", 17, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042400_I'm Always Right And You're Always Wrong (A Message To Non-Idiots!).mp4", false, false, false, 35, [], 98, ~U[2026-04-24 13:01:34Z], ~U[2026-06-29 12:41:46Z], ~U[2026-06-29 12:41:46Z], "Have you ever met someone that was always right about everything? Maybe you think that you are right about everything... \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I'm Always Right And You're Always Wrong (A Message To Non-Idiots!)", "o3RJSUBtsFg", 457, false, "https://www.youtube.com/watch?v=o3RJSUBtsFg", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042400_I'm Always Right And You're Always Wrong (A Message To Non-Idiots!).mp4", false, 35, ~U[2026-04-24 13:01:34Z]] 07:41:46.123 [debug] QUERY OK source="sources" db=0.1ms idle=140.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:46.123 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.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] 07:41:46.123 [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 [2799346] 07:41:46.123 [debug] Current batch of media processed. Will check again in 1000ms 07:41:47.124 [debug] Current batch of media processed. Will check again in 1000ms 07:41:48.125 [debug] Current batch of media processed. Will check again in 1000ms 07:41:49.126 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Can I (a non-programmer) create a rather complicated web app in minutes using Claude A.I.? Spoiler: yes, I can.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 790, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042100_Non-Programmer Builds Web App In Minutes.mp4", "id" => "ry2oqoDY_lA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ry2oqoDY_lA", "playlist_index" => 18, "timestamp" => 1776770099, "title" => "Non-Programmer Builds Web App In Minutes", "upload_date" => "20260421"} 07:41:49.126 [debug] QUERY OK source="sources" db=0.2ms idle=1969.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:49.126 [debug] QUERY OK source="sources" db=0.1ms idle=1969.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:49.129 [debug] QUERY OK source="media_items" db=2.6ms idle=1970.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-21 11:14:59Z], 35] 07:41:49.130 [debug] QUERY OK source="media_items" db=0.7ms idle=1144.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Can I (a non-programmer) create a rather complicated web app in minutes using Claude A.I.? Spoiler: yes, I can.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Non-Programmer Builds Web App In Minutes", "0dbf8dad-e02d-4814-aa2d-85313b18aae9", "ry2oqoDY_lA", 790, false, "https://www.youtube.com/watch?v=ry2oqoDY_lA", 18, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042100_Non-Programmer Builds Web App In Minutes.mp4", false, false, false, 35, [], 98, ~U[2026-04-21 11:14:59Z], ~U[2026-06-29 12:41:49Z], ~U[2026-06-29 12:41:49Z], "Can I (a non-programmer) create a rather complicated web app in minutes using Claude A.I.? Spoiler: yes, I can.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Non-Programmer Builds Web App In Minutes", "ry2oqoDY_lA", 790, false, "https://www.youtube.com/watch?v=ry2oqoDY_lA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042100_Non-Programmer Builds Web App In Minutes.mp4", false, 35, ~U[2026-04-21 11:14:59Z]] 07:41:49.131 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [35] 07:41:49.131 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:41:49.132 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2776103] 07:41:49.132 [debug] Current batch of media processed. Will check again in 1000ms 07:41:50.133 [debug] Current batch of media processed. Will check again in 1000ms 07:41:51.134 [debug] Current batch of media processed. Will check again in 1000ms 07:41:52.135 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artix Linux is a rolling-release distribution, based on Arch Linux, that offers the user the choice of several different non-systemd init systems. Today, I'm going to take a quick look at Artix with Xfce, dinit and xlibre.\n\nREFERENCED:\n► https://artixlinux.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "duration" => 1205, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041800_Is Artix Linux Just A Protest Distro?.mp4", "id" => "tdr-144Ondo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tdr-144Ondo", "playlist_index" => 19, "timestamp" => 1776517299, "title" => "Is Artix Linux Just A Protest Distro?", "upload_date" => "20260418"} 07:41:52.136 [debug] QUERY OK source="sources" db=0.2ms idle=1978.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:52.136 [debug] QUERY OK source="sources" db=0.1ms idle=1979.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:52.139 [debug] QUERY OK source="media_items" db=2.7ms idle=1979.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-18 13:01:39Z], 35] 07:41:52.141 [debug] QUERY OK source="media_items" db=0.8ms idle=1149.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Artix Linux is a rolling-release distribution, based on Arch Linux, that offers the user the choice of several different non-systemd init systems. Today, I'm going to take a quick look at Artix with Xfce, dinit and xlibre.\n\nREFERENCED:\n► https://artixlinux.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is Artix Linux Just A Protest Distro?", "0372cdaf-3f71-4ba2-8b5e-4d1eb66c3a18", "tdr-144Ondo", 1205, false, "https://www.youtube.com/watch?v=tdr-144Ondo", 19, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041800_Is Artix Linux Just A Protest Distro?.mp4", false, false, false, 35, [], 98, ~U[2026-04-18 13:01:39Z], ~U[2026-06-29 12:41:52Z], ~U[2026-06-29 12:41:52Z], "Artix Linux is a rolling-release distribution, based on Arch Linux, that offers the user the choice of several different non-systemd init systems. Today, I'm going to take a quick look at Artix with Xfce, dinit and xlibre.\n\nREFERENCED:\n► https://artixlinux.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is Artix Linux Just A Protest Distro?", "tdr-144Ondo", 1205, false, "https://www.youtube.com/watch?v=tdr-144Ondo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041800_Is Artix Linux Just A Protest Distro?.mp4", false, 35, ~U[2026-04-18 13:01:39Z]] 07:41:52.141 [debug] QUERY OK source="sources" db=0.1ms idle=149.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:52.141 [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] 07:41:52.141 [debug] QUERY OK source="media_items" db=0.1ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2752907] 07:41:52.141 [debug] Current batch of media processed. Will check again in 1000ms 07:41:53.143 [debug] Current batch of media processed. Will check again in 1000ms 07:41:53.250 [info] {"source":"oban","duration":7592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:54.144 [debug] Current batch of media processed. Will check again in 1000ms 07:41:54.570 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/0f/46/0f46254c93886d1ac22ef2d6207ed3ab6e5509b127e3287f8033875ea229b497.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/68/e4/68e46be6c95b5698f8eb40ed51303457a0a87d8267a33174727ac47835d9c8c7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 07:41:54.571 [debug] Gracefully stopping file follower 07:41:54.571 [debug] QUERY OK source="sources" db=0.1ms idle=1414.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 07:41:54.571 [debug] QUERY OK source="sources" db=0.0ms idle=1414.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.574 [debug] QUERY OK source="media_items" db=2.6ms idle=1414.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-26 13:00:16Z], 35] 07:41:54.575 [debug] QUERY OK source="media_items" db=0.8ms idle=1324.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["RefreshOS 3 brings together the stability of Debian 13 and the beauty of KDE Plasma 6 into a desktop experience that simply feels right. Built with Qt 6 and the Linux 6.12 kernel, it delivers a modern desktop that feels fast, clean, smooth, and genuinely enjoyable to use every day.\n\nREFERENCED:\n► https://refreshos.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "RefreshOS Combines Debian Stability With KDE Beauty", "184719ea-0b77-48be-8b14-95fef187420c", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", 1, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062600_RefreshOS Combines Debian Stability With KDE Beauty.mp4", false, false, false, 35, [], 98, ~U[2026-06-26 13:00:16Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "RefreshOS 3 brings together the stability of Debian 13 and the beauty of KDE Plasma 6 into a desktop experience that simply feels right. Built with Qt 6 and the Linux 6.12 kernel, it delivers a modern desktop that feels fast, clean, smooth, and genuinely enjoyable to use every day.\n\nREFERENCED:\n► https://refreshos.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "RefreshOS Combines Debian Stability With KDE Beauty", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062600_RefreshOS Combines Debian Stability With KDE Beauty.mp4", false, 35, ~U[2026-06-26 13:00:16Z]] 07:41:54.576 [debug] QUERY OK source="sources" db=0.1ms idle=581.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.578 [debug] QUERY OK source="media_items" db=2.5ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-21 13:00:33Z], 35] 07:41:54.579 [debug] QUERY OK source="media_items" db=0.7ms idle=7.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["BoxBuddy is a graphical frontend to distrobox, which allows you to install packages from other Linux distro's repositories.\n\nREFERENCED:\n► https://github.com/Dvlv/BoxBuddyRS\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Install Programs From Any Linux Distro With BoxBuddy", "f44faa68-9005-4f21-a3aa-80b04d73dd0b", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", 2, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062100_Install Programs From Any Linux Distro With BoxBuddy.mp4", false, false, false, 35, [], 98, ~U[2026-06-21 13:00:33Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "BoxBuddy is a graphical frontend to distrobox, which allows you to install packages from other Linux distro's repositories.\n\nREFERENCED:\n► https://github.com/Dvlv/BoxBuddyRS\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Install Programs From Any Linux Distro With BoxBuddy", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e062100_Install Programs From Any Linux Distro With BoxBuddy.mp4", false, 35, ~U[2026-06-21 13:00:33Z]] 07:41:54.580 [debug] QUERY OK source="sources" db=0.4ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.583 [debug] QUERY OK source="media_items" db=2.8ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 13:00:28Z], 35] 07:41:54.584 [debug] QUERY OK source="media_items" db=0.7ms idle=7.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Random thoughts about the state of Arch Linux after this massive malware attack on the AUR.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is It Time To Leave Arch Linux?", "e0e3051d-be2a-4201-b665-0594d5c0e171", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", 3, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061600_Is It Time To Leave Arch Linux?.mp4", false, false, false, 35, [], 98, ~U[2026-06-16 13:00:28Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "Random thoughts about the state of Arch Linux after this massive malware attack on the AUR.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is It Time To Leave Arch Linux?", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061600_Is It Time To Leave Arch Linux?.mp4", false, 35, ~U[2026-06-16 13:00:28Z]] 07:41:54.584 [debug] QUERY OK source="sources" db=0.4ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.587 [debug] QUERY OK source="media_items" db=2.4ms idle=5.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-12 16:30:20Z], 35] 07:41:54.588 [debug] QUERY OK source="media_items" db=0.7ms idle=7.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch contributors are cleaning up a malware incident in the AUR after suspicious updates appeared across several user-maintained packages.\n\nREFERENCED:\n► https://linuxiac.com/arch-linux-aur-malware-campaign-hits-multiple-user-contributed-packages/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Major Malware Incident Hits Arch AUR!", "a8e18b7a-85cd-45e2-bdac-5beacdbd3641", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", 4, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061200_Major Malware Incident Hits Arch AUR!.mp4", false, false, false, 35, [], 98, ~U[2026-06-12 16:30:20Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "Arch contributors are cleaning up a malware incident in the AUR after suspicious updates appeared across several user-maintained packages.\n\nREFERENCED:\n► https://linuxiac.com/arch-linux-aur-malware-campaign-hits-multiple-user-contributed-packages/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Major Malware Incident Hits Arch AUR!", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e061200_Major Malware Incident Hits Arch AUR!.mp4", false, 35, ~U[2026-06-12 16:30:20Z]] 07:41:54.589 [debug] QUERY OK source="sources" db=0.3ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.591 [debug] QUERY OK source="media_items" db=2.3ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-08 13:00:33Z], 35] 07:41:54.594 [debug] QUERY OK source="media_items" db=2.5ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["For decades, Linux enthusiasts have dreamed of \"the Year of the Linux Desktop.\" Despite Linux powering much of the internet, if not most of the internet, as well as cloud computing, and even Android, desktop Linux has remained a niche choice for most computer users. But artificial intelligence may finally change that.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!)", "1eefe4c9-157d-4753-aaab-b7154400245e", "LuvxUKBXkqA", 826, false, "https://www.youtube.com/watch?v=LuvxUKBXkqA", 5, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060800_A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!).mp4", false, false, false, 35, [], 98, ~U[2026-06-08 13:00:33Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "For decades, Linux enthusiasts have dreamed of \"the Year of the Linux Desktop.\" Despite Linux powering much of the internet, if not most of the internet, as well as cloud computing, and even Android, desktop Linux has remained a niche choice for most computer users. But artificial intelligence may finally change that.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!)", "LuvxUKBXkqA", 826, false, "https://www.youtube.com/watch?v=LuvxUKBXkqA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060800_A.I. Will Make Linux More Popular (Despite What The A.I. Bigots Say!).mp4", false, 35, ~U[2026-06-08 13:00:33Z]] 07:41:54.594 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.597 [debug] QUERY OK source="media_items" db=2.3ms idle=6.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-02 13:00:24Z], 35] 07:41:54.598 [debug] QUERY OK source="media_items" db=0.8ms idle=8.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Have you ever wanted to automate certain tasks on your Linux system? Maybe a backup, or system cleanup, or running a specific script every week or every month. Cronie allows you to easily schedule such tasks on your Linux machine.\n\nREFERENCED:\n► https://wiki.archlinux.org/title/Cron\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "How To Schedule Linux Jobs With Cronie", "fb7f6632-d82c-43ca-8f0d-87858cb8cdf7", "FPVQ_w0wxCI", 597, false, "https://www.youtube.com/watch?v=FPVQ_w0wxCI", 6, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060200_How To Schedule Linux Jobs With Cronie.mp4", false, false, false, 35, [], 98, ~U[2026-06-02 13:00:24Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "Have you ever wanted to automate certain tasks on your Linux system? Maybe a backup, or system cleanup, or running a specific script every week or every month. Cronie allows you to easily schedule such tasks on your Linux machine.\n\nREFERENCED:\n► https://wiki.archlinux.org/title/Cron\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "How To Schedule Linux Jobs With Cronie", "FPVQ_w0wxCI", 597, false, "https://www.youtube.com/watch?v=FPVQ_w0wxCI", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e060200_How To Schedule Linux Jobs With Cronie.mp4", false, 35, ~U[2026-06-02 13:00:24Z]] 07:41:54.598 [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" = ?) [35] 07:41:54.601 [debug] QUERY OK source="media_items" db=2.2ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-28 13:00:03Z], 35] 07:41:54.602 [debug] QUERY OK source="media_items" db=0.8ms idle=6.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Quarkos is a user friendly, desktop oriented operating system based on Ubuntu Linux with Plasma, optionally Trinity desktop environment, and an added value thanks to unique Q4OS tools integrated. Its goal is to provide Ubuntu based operating system with Q4OS amenities. Unlike Q4OS, which is Debian based, Quarkos is based on Ubuntu.\n\nREFERENCED:\n► https://quark-os.sourceforge.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick First Look At QuarkOS", "f781978f-4d71-416a-995b-e6183ea5aea0", "kj6ZfmmPHpY", 879, false, "https://www.youtube.com/watch?v=kj6ZfmmPHpY", 7, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052800_A Quick First Look At QuarkOS.mp4", false, false, false, 35, [], 98, ~U[2026-05-28 13:00:03Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "Quarkos is a user friendly, desktop oriented operating system based on Ubuntu Linux with Plasma, optionally Trinity desktop environment, and an added value thanks to unique Q4OS tools integrated. Its goal is to provide Ubuntu based operating system with Q4OS amenities. Unlike Q4OS, which is Debian based, Quarkos is based on Ubuntu.\n\nREFERENCED:\n► https://quark-os.sourceforge.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick First Look At QuarkOS", "kj6ZfmmPHpY", 879, false, "https://www.youtube.com/watch?v=kj6ZfmmPHpY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052800_A Quick First Look At QuarkOS.mp4", false, 35, ~U[2026-05-28 13:00:03Z]] 07:41:54.602 [debug] QUERY OK source="sources" db=0.2ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.605 [debug] QUERY OK source="media_items" db=2.2ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-25 13:00:15Z], 35] 07:41:54.606 [debug] QUERY OK source="media_items" db=0.7ms idle=6.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["For the last six months, I have had a serious audio bug that greatly limited my ability to record videos. \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I Almost Quit YouTube Because Of This Audio Issue", "c8e3653f-2bd1-4e0c-85b6-7e64f3e0a877", "lRFfAiQ9Q1I", 702, false, "https://www.youtube.com/watch?v=lRFfAiQ9Q1I", 8, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052500_I Almost Quit YouTube Because Of This Audio Issue.mp4", false, false, false, 35, [], 98, ~U[2026-05-25 13:00:15Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "For the last six months, I have had a serious audio bug that greatly limited my ability to record videos. \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I Almost Quit YouTube Because Of This Audio Issue", "lRFfAiQ9Q1I", 702, false, "https://www.youtube.com/watch?v=lRFfAiQ9Q1I", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052500_I Almost Quit YouTube Because Of This Audio Issue.mp4", false, 35, ~U[2026-05-25 13:00:15Z]] 07:41:54.606 [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" = ?) [35] 07:41:54.609 [debug] QUERY OK source="media_items" db=2.2ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-21 15:41:14Z], 35] 07:41:54.610 [debug] QUERY OK source="media_items" db=0.8ms idle=6.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I want to try out something different for the next edition of HEY DT. Instead of responding to YouTube comments, I want to respond to voice messages! What could possibly go wrong!\n\nLEAVE ME A VOICE MESSAGE FOR HEY DT:\n► https://www.speakpipe.com/dt (Leave 'Name' too...it can be a fake name!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!)", "098e51f6-820b-45a6-8924-e9cb165462ba", "9i276gE7KV8", 163, false, "https://www.youtube.com/watch?v=9i276gE7KV8", 9, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052100_Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!).mp4", false, false, false, 35, [], 98, ~U[2026-05-21 15:41:14Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "I want to try out something different for the next edition of HEY DT. Instead of responding to YouTube comments, I want to respond to voice messages! What could possibly go wrong!\n\nLEAVE ME A VOICE MESSAGE FOR HEY DT:\n► https://www.speakpipe.com/dt (Leave 'Name' too...it can be a fake name!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!)", "9i276gE7KV8", 163, false, "https://www.youtube.com/watch?v=9i276gE7KV8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e052100_Send Me A Voice Message (Don't Be Mean To Me...Pretty Please!).mp4", false, 35, ~U[2026-05-21 15:41:14Z]] 07:41:54.610 [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" = ?) [35] 07:41:54.613 [debug] QUERY OK source="media_items" db=2.3ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-15 13:01:07Z], 35] 07:41:54.614 [debug] QUERY OK source="media_items" db=0.8ms idle=6.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Linux and Windows are different...obviously. But what are some of the features that Linux has that Windows doesn't?\n\nARTICLE REFERENCED:\n► https://www.xda-developers.com/6-linux-features-windows-still-doesnt-have-in-2026/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Features Linux Has...But Windows Doesn't!", "ce6a9460-70d4-49f3-832f-1616b5c8aff0", "bldTm7cAHB4", 675, false, "https://www.youtube.com/watch?v=bldTm7cAHB4", 10, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051500_Features Linux Has...But Windows Doesn't!.mp4", false, false, false, 35, [], 98, ~U[2026-05-15 13:01:07Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "Linux and Windows are different...obviously. But what are some of the features that Linux has that Windows doesn't?\n\nARTICLE REFERENCED:\n► https://www.xda-developers.com/6-linux-features-windows-still-doesnt-have-in-2026/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Features Linux Has...But Windows Doesn't!", "bldTm7cAHB4", 675, false, "https://www.youtube.com/watch?v=bldTm7cAHB4", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051500_Features Linux Has...But Windows Doesn't!.mp4", false, 35, ~U[2026-05-15 13:01:07Z]] 07:41:54.614 [debug] QUERY OK source="sources" db=0.3ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.616 [debug] QUERY OK source="media_items" db=2.2ms idle=4.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-12 12:31:04Z], 35] 07:41:54.618 [debug] QUERY OK source="media_items" db=0.8ms idle=6.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["These seven shells aliases are practically required if you don't want your terminal experience to suck.\n\nalias ls='ls -lah --color=always --group-directories-first'\nalias rm=' rm -I --preserve-root'\nalias cp='cp -i'\nalias mv='mv -i'\nalias mkdir='mkdir -p'\nalias ping='ping -c 5'\nalias update='sudo pacman -Syu' (or whatever your distro uses!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "7 Aliases That Make The Terminal Great Again", "48c32ecc-4660-4021-b575-631bdff81910", "NLCPh9iAknk", 782, false, "https://www.youtube.com/watch?v=NLCPh9iAknk", 11, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051200_7 Aliases That Make The Terminal Great Again.mp4", false, false, false, 35, [], 98, ~U[2026-05-12 12:31:04Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "These seven shells aliases are practically required if you don't want your terminal experience to suck.\n\nalias ls='ls -lah --color=always --group-directories-first'\nalias rm=' rm -I --preserve-root'\nalias cp='cp -i'\nalias mv='mv -i'\nalias mkdir='mkdir -p'\nalias ping='ping -c 5'\nalias update='sudo pacman -Syu' (or whatever your distro uses!)\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "7 Aliases That Make The Terminal Great Again", "NLCPh9iAknk", 782, false, "https://www.youtube.com/watch?v=NLCPh9iAknk", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e051200_7 Aliases That Make The Terminal Great Again.mp4", false, 35, ~U[2026-05-12 12:31:04Z]] 07:41:54.618 [debug] QUERY OK source="sources" db=0.3ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.620 [debug] QUERY OK source="media_items" db=2.3ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-09 13:00:17Z], 35] 07:41:54.622 [debug] QUERY OK source="media_items" db=0.8ms idle=6.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A serious discussion about one of the biggest problems facing society. Rant incoming!\n\nREFERENCED:\n► Lunduke's Video: https://www.youtube.com/watch?v=jGdyMx4dZQ0\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Does Open Source Have A Pedo Problem?", "54c33c85-9559-497b-958b-1ee1a314f555", "5Gb91JNF89M", 1243, false, "https://www.youtube.com/watch?v=5Gb91JNF89M", 12, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050900_Does Open Source Have A Pedo Problem?.mp4", false, false, false, 35, [], 98, ~U[2026-05-09 13:00:17Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "A serious discussion about one of the biggest problems facing society. Rant incoming!\n\nREFERENCED:\n► Lunduke's Video: https://www.youtube.com/watch?v=jGdyMx4dZQ0\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Does Open Source Have A Pedo Problem?", "5Gb91JNF89M", 1243, false, "https://www.youtube.com/watch?v=5Gb91JNF89M", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050900_Does Open Source Have A Pedo Problem?.mp4", false, 35, ~U[2026-05-09 13:00:17Z]] 07:41:54.622 [debug] QUERY OK source="sources" db=0.3ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.625 [debug] QUERY OK source="media_items" db=2.7ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-06 13:00:55Z], 35] 07:41:54.626 [debug] QUERY OK source="media_items" db=0.7ms idle=6.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A lengthy, unstructured boomer rant that goes all over the place. Enjoy!\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Linux...So Much Has Changed In The Last 20 Years", "cb7584c6-ed60-4a28-919f-2f6eeb58a633", "Ol7kVJx8KcY", 1712, false, "https://www.youtube.com/watch?v=Ol7kVJx8KcY", 13, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050600_Linux...So Much Has Changed In The Last 20 Years.mp4", false, false, false, 35, [], 98, ~U[2026-05-06 13:00:55Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "A lengthy, unstructured boomer rant that goes all over the place. Enjoy!\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Linux...So Much Has Changed In The Last 20 Years", "Ol7kVJx8KcY", 1712, false, "https://www.youtube.com/watch?v=Ol7kVJx8KcY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050600_Linux...So Much Has Changed In The Last 20 Years.mp4", false, 35, ~U[2026-05-06 13:00:55Z]] 07:41:54.626 [debug] QUERY OK source="sources" db=0.3ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.629 [debug] QUERY OK source="media_items" db=2.2ms idle=5.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 13:01:43Z], 35] 07:41:54.631 [debug] QUERY OK source="media_items" db=1.9ms idle=7.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I list some of the free and open source applications that I love to use. I'd install these on every computer of mine, even if the computer was a Windows machine!\n\n0:00 intro\n0:39 brave (or firefox)\n3:04 vlc\n3:59 libreoffice\n5:53 gimp\n7:24 emacs (or vim or geany)\n9:27 kdenlive\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "5 Open Source Apps I'd Install Even On Windows", "d00e0476-b92b-4ee8-9920-0a3e987d966f", "v0WbKKhod74", 712, false, "https://www.youtube.com/watch?v=v0WbKKhod74", 14, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050300_5 Open Source Apps I'd Install Even On Windows.mp4", false, false, false, 35, [], 98, ~U[2026-05-03 13:01:43Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "I list some of the free and open source applications that I love to use. I'd install these on every computer of mine, even if the computer was a Windows machine!\n\n0:00 intro\n0:39 brave (or firefox)\n3:04 vlc\n3:59 libreoffice\n5:53 gimp\n7:24 emacs (or vim or geany)\n9:27 kdenlive\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "5 Open Source Apps I'd Install Even On Windows", "v0WbKKhod74", 712, false, "https://www.youtube.com/watch?v=v0WbKKhod74", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e050300_5 Open Source Apps I'd Install Even On Windows.mp4", false, 35, ~U[2026-05-03 13:01:43Z]] 07:41:54.632 [debug] QUERY OK source="sources" db=0.3ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.634 [debug] QUERY OK source="media_items" db=2.3ms idle=5.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-30 13:01:41Z], 35] 07:41:54.635 [debug] QUERY OK source="media_items" db=0.8ms idle=7.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["If you are a Linux user, a new default folder just appeared in your home directory.\n\nREFERENCED:\n► https://itsfoss.com/news/new-projects-directory-linux/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A New Folder Just Appeared In Your Home Directory", "731eadb8-5155-4564-b213-b6659518bf73", "tg8PqPcOWjo", 329, false, "https://www.youtube.com/watch?v=tg8PqPcOWjo", 15, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e043000_A New Folder Just Appeared In Your Home Directory.mp4", false, false, false, 35, [], 98, ~U[2026-04-30 13:01:41Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "If you are a Linux user, a new default folder just appeared in your home directory.\n\nREFERENCED:\n► https://itsfoss.com/news/new-projects-directory-linux/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A New Folder Just Appeared In Your Home Directory", "tg8PqPcOWjo", 329, false, "https://www.youtube.com/watch?v=tg8PqPcOWjo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e043000_A New Folder Just Appeared In Your Home Directory.mp4", false, 35, ~U[2026-04-30 13:01:41Z]] 07:41:54.636 [debug] QUERY OK source="sources" db=0.3ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.638 [debug] QUERY OK source="media_items" db=2.3ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-27 13:31:26Z], 35] 07:41:54.639 [debug] QUERY OK source="media_items" db=0.7ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, I'm taking a quick first look at the recently released Ubuntu 26.04, codenamed \"Resolute Raccoon.\" This release is especially important because it's the LTS (Long Term Support) release of Ubuntu, meaning it gets 5-years of support!\n\nREFERENCED:\n► https://ubuntu.com/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick Look At Ubuntu 26.04 \"Resolute Raccoon\"", "8054c192-e008-420e-ab33-03e5c7dff94e", "3RpHc4Wl0N8", 1421, false, "https://www.youtube.com/watch?v=3RpHc4Wl0N8", 16, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042700_A Quick Look At Ubuntu 26.04 "Resolute Raccoon".mp4", false, false, false, 35, [], 98, ~U[2026-04-27 13:31:26Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "Today, I'm taking a quick first look at the recently released Ubuntu 26.04, codenamed \"Resolute Raccoon.\" This release is especially important because it's the LTS (Long Term Support) release of Ubuntu, meaning it gets 5-years of support!\n\nREFERENCED:\n► https://ubuntu.com/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "A Quick Look At Ubuntu 26.04 \"Resolute Raccoon\"", "3RpHc4Wl0N8", 1421, false, "https://www.youtube.com/watch?v=3RpHc4Wl0N8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042700_A Quick Look At Ubuntu 26.04 "Resolute Raccoon".mp4", false, 35, ~U[2026-04-27 13:31:26Z]] 07:41:54.640 [debug] QUERY OK source="sources" db=0.3ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.642 [debug] QUERY OK source="media_items" db=2.3ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-24 13:01:34Z], 35] 07:41:54.643 [debug] QUERY OK source="media_items" db=0.8ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Have you ever met someone that was always right about everything? Maybe you think that you are right about everything... \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I'm Always Right And You're Always Wrong (A Message To Non-Idiots!)", "60426b46-ed86-460b-b133-40561473eb00", "o3RJSUBtsFg", 457, false, "https://www.youtube.com/watch?v=o3RJSUBtsFg", 17, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042400_I'm Always Right And You're Always Wrong (A Message To Non-Idiots!).mp4", false, false, false, 35, [], 98, ~U[2026-04-24 13:01:34Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "Have you ever met someone that was always right about everything? Maybe you think that you are right about everything... \n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "I'm Always Right And You're Always Wrong (A Message To Non-Idiots!)", "o3RJSUBtsFg", 457, false, "https://www.youtube.com/watch?v=o3RJSUBtsFg", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042400_I'm Always Right And You're Always Wrong (A Message To Non-Idiots!).mp4", false, 35, ~U[2026-04-24 13:01:34Z]] 07:41:54.644 [debug] QUERY OK source="sources" db=0.3ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.646 [debug] QUERY OK source="media_items" db=2.3ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-21 11:14:59Z], 35] 07:41:54.647 [debug] QUERY OK source="media_items" db=0.7ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Can I (a non-programmer) create a rather complicated web app in minutes using Claude A.I.? Spoiler: yes, I can.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Non-Programmer Builds Web App In Minutes", "68970e51-fbe0-4743-8c4c-e444f09b7df3", "ry2oqoDY_lA", 790, false, "https://www.youtube.com/watch?v=ry2oqoDY_lA", 18, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042100_Non-Programmer Builds Web App In Minutes.mp4", false, false, false, 35, [], 98, ~U[2026-04-21 11:14:59Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "Can I (a non-programmer) create a rather complicated web app in minutes using Claude A.I.? Spoiler: yes, I can.\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Non-Programmer Builds Web App In Minutes", "ry2oqoDY_lA", 790, false, "https://www.youtube.com/watch?v=ry2oqoDY_lA", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e042100_Non-Programmer Builds Web App In Minutes.mp4", false, 35, ~U[2026-04-21 11:14:59Z]] 07:41:54.648 [debug] QUERY OK source="sources" db=0.3ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.650 [debug] QUERY OK source="media_items" db=2.2ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-18 13:01:39Z], 35] 07:41:54.651 [debug] QUERY OK source="media_items" db=0.8ms idle=6.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Artix Linux is a rolling-release distribution, based on Arch Linux, that offers the user the choice of several different non-systemd init systems. Today, I'm going to take a quick look at Artix with Xfce, dinit and xlibre.\n\nREFERENCED:\n► https://artixlinux.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is Artix Linux Just A Protest Distro?", "58b5e503-6b83-46c6-822a-bef10b8676b4", "tdr-144Ondo", 1205, false, "https://www.youtube.com/watch?v=tdr-144Ondo", 19, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041800_Is Artix Linux Just A Protest Distro?.mp4", false, false, false, 35, [], 98, ~U[2026-04-18 13:01:39Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "Artix Linux is a rolling-release distribution, based on Arch Linux, that offers the user the choice of several different non-systemd init systems. Today, I'm going to take a quick look at Artix with Xfce, dinit and xlibre.\n\nREFERENCED:\n► https://artixlinux.org/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "Is Artix Linux Just A Protest Distro?", "tdr-144Ondo", 1205, false, "https://www.youtube.com/watch?v=tdr-144Ondo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041800_Is Artix Linux Just A Protest Distro?.mp4", false, 35, ~U[2026-04-18 13:01:39Z]] 07:41:54.652 [debug] QUERY OK source="sources" db=0.3ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 07:41:54.654 [debug] QUERY OK source="media_items" db=2.3ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-12 13:00:18Z], 35] 07:41:54.655 [debug] QUERY OK source="media_items" db=0.8ms idle=6.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["CuerdOS is a GNU/Linux distribution of Spanish origin focused on stability, efficiency, and performance. Today, I'm taking a look at their KDE Plasma edition.\n\nREFERENCED:\n► https://cuerdos.github.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "CuerdOS Is Not Just Another Distro! (Or Is It?)", "6eb13ffc-2c7f-4830-b174-3890f8612718", "Bh4cQJ5aTUg", 992, false, "https://www.youtube.com/watch?v=Bh4cQJ5aTUg", 20, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041200_CuerdOS Is Not Just Another Distro! (Or Is It?).mp4", false, false, false, 35, [], 98, ~U[2026-04-12 13:00:18Z], ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], "CuerdOS is a GNU/Linux distribution of Spanish origin focused on stability, efficiency, and performance. Today, I'm taking a look at their KDE Plasma edition.\n\nREFERENCED:\n► https://cuerdos.github.io/\n\nWANT TO SUPPORT THE CHANNEL? \n💰 Patreon: https://www.patreon.com/distrotube \n💳 Paypal: https://www.paypal.com/donate/?hosted_button_id=MW3ZFGS8Q9JGW\n🛍️ Amazon: https://amzn.to/2RotFFi\n👕 Teespring: https://teespring.com/stores/distrotube\n\nDT ON THE WEB:\n🕸️ Website: http://distro.tube\n📁 GitLab: https://gitlab.com/dwt1 \n🗨️ Mastodon: https://fosstodon.org/@distrotube\n👫 Reddit: https://www.reddit.com/r/DistroTube/\n📽️ Odysee: https://odysee.com/@DistroTube:2\n\nFREE AND OPEN SOURCE SOFTWARE THAT I LIKE:\n🌐 Brave Browser - https://brave.com/\n📽️ Open Broadcaster Software: https://obsproject.com/\n🎬 Kdenlive: https://kdenlive.org\n🎨 GIMP: https://www.gimp.org/\n💻 VirtualBox: https://www.virtualbox.org/\n🗒️ Doom Emacs: https://github.com/hlissner/doom-emacs\n\nYour support is very much appreciated. Thanks, guys!", "CuerdOS Is Not Just Another Distro! (Or Is It?)", "Bh4cQJ5aTUg", 992, false, "https://www.youtube.com/watch?v=Bh4cQJ5aTUg", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e041200_CuerdOS Is Not Just Another Distro! (Or Is It?).mp4", false, 35, ~U[2026-04-12 13:00:18Z]] 07:41:54.656 [debug] QUERY OK source="sources" db=0.3ms idle=5.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z], 35] 07:41:54.658 [debug] QUERY OK source="media_items" db=2.5ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [35] 07:41:54.661 [debug] QUERY OK source="media_items" db=2.8ms 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")))) [35] 07:41:54.662 [debug] QUERY OK source="media_items" db=0.4ms idle=7.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 07:41:54.663 [debug] QUERY OK source="tasks" db=0.3ms idle=4.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419855, 35, ~U[2026-06-29 12:41:54Z], ~U[2026-06-29 12:41:54Z]] 07:41:54.664 [info] {"args":{"id":35},"id":419762,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":55750540,"event":"job:stop","queue_time":358986,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 07:42:00.069 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:42:23.258 [info] {"source":"oban","duration":7412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:53.267 [info] {"source":"oban","duration":8937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:00.070 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:43:23.274 [info] {"source":"oban","duration":5925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:40.131 [info] {"args":{"id":51},"id":419839,"meta":{},"system_time":1782737020130918082,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:43:40.131 [debug] QUERY OK source="sources" db=0.1ms idle=974.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:43:40.132 [debug] QUERY OK source="settings" db=0.6ms idle=974.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:43:40.132 [debug] QUERY OK source="media_profiles" db=0.1ms idle=975.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] 07:43:40.132 [debug] QUERY OK source="settings" db=0.1ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:43:40.132 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 07:43:40.304 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 07:43:40.304 [debug] QUERY OK source="media_items" db=0.4ms idle=173.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 07:43:40.305 [debug] QUERY OK source="media_items" db=0.4ms idle=173.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")))) [51] 07:43:40.306 [debug] QUERY OK source="tasks" db=0.1ms idle=174.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419856, 51, ~U[2026-06-29 12:43:40Z], ~U[2026-06-29 12:43:40Z]] 07:43:40.307 [info] {"args":{"id":51},"id":419839,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":176046,"event":"job:stop","queue_time":723249,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:43:53.285 [info] {"source":"oban","duration":8946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:44:00.071 [info] {"source":"oban","duration":426,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:44:23.294 [info] {"source":"oban","duration":7966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:53.302 [info] {"source":"oban","duration":7347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:00.073 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:45:23.296 [info] {"args":{"id":52},"id":419852,"meta":{},"system_time":1782737123296424102,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:45:23.297 [debug] QUERY OK source="sources" db=0.6ms idle=139.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:45:23.297 [debug] QUERY OK source="settings" db=0.1ms idle=140.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:45:23.298 [debug] QUERY OK source="media_profiles" db=0.5ms idle=140.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] 07:45:23.299 [debug] QUERY OK source="settings" db=0.5ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:45:23.299 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 07:45:23.310 [info] {"source":"oban","duration":7613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:23.344 [debug] Media ids fetched from RSS: ["HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 07:45:23.345 [debug] QUERY OK source="media_items" db=0.3ms idle=47.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 07:45:23.346 [debug] QUERY OK source="media_items" db=0.6ms idle=47.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")))) [52] 07:45:23.349 [debug] QUERY OK source="tasks" db=0.5ms idle=37.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419857, 1301334, ~U[2026-06-29 12:45:23Z], ~U[2026-06-29 12:45:23Z]] 07:45:23.351 [debug] QUERY OK source="tasks" db=0.2ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419858, 1301335, ~U[2026-06-29 12:45:23Z], ~U[2026-06-29 12:45:23Z]] 07:45:23.353 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419859, 1301347, ~U[2026-06-29 12:45:23Z], ~U[2026-06-29 12:45:23Z]] 07:45:23.355 [info] {"args":{"id":1301334},"id":419857,"meta":{},"system_time":1782737123355016170,"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"]} 07:45:23.355 [info] {"args":{"id":1301335},"id":419858,"meta":{},"system_time":1782737123355071618,"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"]} 07:45:23.355 [debug] QUERY OK source="media_items" db=0.4ms idle=1.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 07:45:23.355 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:45:23.355 [debug] QUERY OK source="media_items" db=0.7ms 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" = ?) [1301334] 07:45:23.356 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:45:23.356 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [52] 07:45:23.356 [debug] QUERY OK source="sources" db=0.4ms idle=1.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:45:23.356 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:45:23.357 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 07:45:23.357 [debug] QUERY OK source="media_items" db=0.5ms 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 [1301335] 07:45:23.357 [debug] QUERY OK source="media_items" db=0.5ms 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 [1301334] 07:45:23.358 [debug] QUERY OK source="tasks" db=0.2ms idle=1.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419860, 1301392, ~U[2026-06-29 12:45:23Z], ~U[2026-06-29 12:45:23Z]] 07:45:23.359 [debug] QUERY OK source="media_metadata" db=0.2ms idle=1.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [1301335] 07:45:23.359 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 07:45:23.361 [debug] QUERY OK source="media_metadata" db=1.3ms 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" = ?) [1301334] 07:45:23.361 [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 [] 07:45:23.361 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:45:23.361 [debug] QUERY OK source="settings" db=0.3ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:45:23.361 [debug] QUERY OK source="settings" db=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:45:23.361 [debug] Running yt-dlp command for action: get_downloadable_status 07:45:23.362 [debug] QUERY OK source="tasks" db=0.3ms idle=0.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419861, 1301393, ~U[2026-06-29 12:45:23Z], ~U[2026-06-29 12:45:23Z]] 07:45:23.362 [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 [] 07:45:23.362 [debug] Running yt-dlp command for action: get_downloadable_status 07:45:23.363 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:45:23.363 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:45:23.363 [debug] QUERY OK source="settings" db=0.2ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:45:23.363 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/08/88/0888c5e310eb4d7d62abcd12cd0a37462927927266d2d637c5055fa0e4313207.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:45:23.364 [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 [] 07:45:23.364 [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 [] 07:45:23.364 [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 [] 07:45:23.364 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/ae/c7aefed62d979647b64e97964694722ee8723f4baa8b9961bf7ef8f2f3bf02b8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:45:23.365 [debug] QUERY OK source="tasks" db=0.1ms idle=1.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419862, 1301394, ~U[2026-06-29 12:45:23Z], ~U[2026-06-29 12:45:23Z]] 07:45:23.367 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419863, 1301395, ~U[2026-06-29 12:45:23Z], ~U[2026-06-29 12:45:23Z]] 07:45:23.370 [debug] QUERY OK source="tasks" db=0.2ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419864, 1301397, ~U[2026-06-29 12:45:23Z], ~U[2026-06-29 12:45:23Z]] 07:45:23.372 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419865, 1301398, ~U[2026-06-29 12:45:23Z], ~U[2026-06-29 12:45:23Z]] 07:45:23.375 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419866, 1301399, ~U[2026-06-29 12:45:23Z], ~U[2026-06-29 12:45:23Z]] 07:45:23.377 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419867, 1301400, ~U[2026-06-29 12:45:23Z], ~U[2026-06-29 12:45:23Z]] 07:45:23.379 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419868, 2720968, ~U[2026-06-29 12:45:23Z], ~U[2026-06-29 12:45:23Z]] 07:45:23.380 [debug] QUERY OK source="tasks" db=0.2ms idle=1.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419869, 52, ~U[2026-06-29 12:45:23Z], ~U[2026-06-29 12:45:23Z]] 07:45:23.380 [info] {"args":{"id":52},"id":419852,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":84216,"event":"job:stop","queue_time":834216,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:45:25.045 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/08/88/0888c5e310eb4d7d62abcd12cd0a37462927927266d2d637c5055fa0e4313207.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:45:25.045 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:25.045 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:25.046 [info] {"args":{"id":1301335},"id":419858,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1690904,"event":"job:stop","queue_time":353925,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:45:25.053 [info] {"args":{"id":1301347},"id":419859,"meta":{},"system_time":1782737125053102020,"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"]} 07:45:25.053 [debug] QUERY OK source="media_items" db=0.2ms idle=1672.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" = ?) [1301347] 07:45:25.053 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:45:25.054 [debug] QUERY OK source="sources" db=0.2ms idle=1666.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:45:25.054 [debug] QUERY OK source="media_profiles" db=0.1ms idle=762.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:45:25.054 [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 [1301347] 07:45:25.055 [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" = ?) [1301347] 07:45:25.055 [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] 07:45:25.055 [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 [] 07:45:25.055 [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 [] 07:45:25.055 [debug] Running yt-dlp command for action: get_downloadable_status 07:45:25.056 [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 [] 07:45:25.057 [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 [] 07:45:25.057 [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 [] 07:45:25.057 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/58/1e/581e87adcae40bf316de14a3a9c3f1767f8737a74498fb3681fd4cb1913c1792.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:45:25.178 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/ae/c7aefed62d979647b64e97964694722ee8723f4baa8b9961bf7ef8f2f3bf02b8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:45:25.178 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:25.179 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:25.179 [info] {"args":{"id":1301334},"id":419857,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1824088,"event":"job:stop","queue_time":353925,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:45:25.185 [info] {"args":{"id":1301392},"id":419860,"meta":{},"system_time":1782737125185530201,"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"]} 07:45:25.185 [debug] QUERY OK source="media_items" db=0.1ms idle=128.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301392] 07:45:25.186 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:45:25.186 [debug] QUERY OK source="sources" db=0.1ms idle=129.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:45:25.186 [debug] QUERY OK source="media_profiles" db=0.1ms idle=129.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:45:25.186 [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 [1301392] 07:45:25.187 [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" = ?) [1301392] 07:45:25.187 [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] 07:45:25.188 [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 [] 07:45:25.188 [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 [] 07:45:25.188 [debug] Running yt-dlp command for action: get_downloadable_status 07:45:25.189 [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 [] 07:45:25.189 [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 [] 07:45:25.189 [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 [] 07:45:25.189 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/76/af/76af56ac0b8eed13e48956cb109b4c78b102c216b41bc6759f5e1503aa24c731.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:45:26.822 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/76/af/76af56ac0b8eed13e48956cb109b4c78b102c216b41bc6759f5e1503aa24c731.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:45:26.822 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:26.822 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:26.823 [info] {"args":{"id":1301392},"id":419860,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1637473,"event":"job:stop","queue_time":2184940,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:45:26.829 [info] {"args":{"id":1301393},"id":419861,"meta":{},"system_time":1782737126829911113,"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"]} 07:45:26.830 [debug] QUERY OK source="media_items" db=0.1ms idle=1640.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" = ?) [1301393] 07:45:26.830 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:45:26.830 [debug] QUERY OK source="sources" db=0.2ms idle=1537.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:45:26.830 [debug] QUERY OK source="media_profiles" db=0.1ms idle=536.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] 07:45:26.831 [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 [1301393] 07:45:26.833 [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" = ?) [1301393] 07:45:26.833 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:45:26.833 [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 [] 07:45:26.833 [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 [] 07:45:26.833 [debug] Running yt-dlp command for action: get_downloadable_status 07:45:26.834 [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 [] 07:45:26.834 [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 [] 07:45:26.834 [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 [] 07:45:26.835 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/48/35/48357656a192d3423c4a17279b89962d168c15d3d083564e8dc57a10964cd890.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:45:27.007 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/58/1e/581e87adcae40bf316de14a3a9c3f1767f8737a74498fb3681fd4cb1913c1792.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:45:27.007 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:27.007 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:27.008 [info] {"args":{"id":1301347},"id":419859,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1954900,"event":"job:stop","queue_time":2051907,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:45:27.014 [info] {"args":{"id":1301394},"id":419862,"meta":{},"system_time":1782737127014570224,"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"]} 07:45:27.015 [debug] QUERY OK source="media_items" db=0.2ms idle=180.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" = ?) [1301394] 07:45:27.015 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:45:27.015 [debug] QUERY OK source="sources" db=0.1ms idle=180.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:45:27.015 [debug] QUERY OK source="media_profiles" db=0.1ms idle=180.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] 07:45:27.016 [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 [1301394] 07:45:27.023 [debug] QUERY OK source="media_metadata" db=0.1ms idle=8.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" = ?) [1301394] 07:45:27.023 [debug] QUERY OK source="media_profiles" db=0.0ms idle=8.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:45:27.024 [debug] QUERY OK source="settings" db=0.0ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:45:27.024 [debug] QUERY OK source="settings" db=0.0ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:45:27.024 [debug] Running yt-dlp command for action: get_downloadable_status 07:45:27.025 [debug] QUERY OK source="settings" db=0.0ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:45:27.025 [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 [] 07:45:27.025 [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 [] 07:45:27.025 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/50/7b/507b10389493361317548e985c929c92d774e0c88a2ed8334fd1a3afe433f35d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:45:28.581 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/48/35/48357656a192d3423c4a17279b89962d168c15d3d083564e8dc57a10964cd890.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:45:28.581 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:28.581 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:28.582 [info] {"args":{"id":1301393},"id":419861,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1751826,"event":"job:stop","queue_time":3828952,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:45:28.588 [info] {"args":{"id":1301395},"id":419863,"meta":{},"system_time":1782737128588520482,"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"]} 07:45:28.588 [debug] QUERY OK source="media_items" db=0.1ms idle=431.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" = ?) [1301395] 07:45:28.589 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:45:28.589 [debug] QUERY OK source="sources" db=0.1ms idle=431.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:45:28.589 [debug] QUERY OK source="media_profiles" db=0.1ms idle=292.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:45:28.590 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301395] 07:45:28.591 [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" = ?) [1301395] 07:45:28.591 [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] 07:45:28.591 [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 [] 07:45:28.591 [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 [] 07:45:28.591 [debug] Running yt-dlp command for action: get_downloadable_status 07:45:28.592 [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 [] 07:45:28.593 [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 [] 07:45:28.593 [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 [] 07:45:28.593 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7d/1e/7d1e4e808ae9831082bb018bdd6de686b794f73ee7feef08e08f72ad0c148291.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:45:28.800 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/50/7b/507b10389493361317548e985c929c92d774e0c88a2ed8334fd1a3afe433f35d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:45:28.800 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:28.800 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:28.801 [info] {"args":{"id":1301394},"id":419862,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1786208,"event":"job:stop","queue_time":4013913,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:45:28.807 [info] {"args":{"id":1301397},"id":419864,"meta":{},"system_time":1782737128807467302,"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"]} 07:45:28.807 [debug] QUERY OK source="media_items" db=0.1ms idle=214.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" = ?) [1301397] 07:45:28.807 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:45:28.808 [debug] QUERY OK source="sources" db=0.1ms idle=215.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:45:28.808 [debug] QUERY OK source="media_profiles" db=0.1ms idle=215.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] 07:45:28.808 [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 [1301397] 07:45:28.809 [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" = ?) [1301397] 07:45:28.810 [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] 07:45:28.810 [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 [] 07:45:28.810 [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 [] 07:45:28.810 [debug] Running yt-dlp command for action: get_downloadable_status 07:45:28.811 [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 [] 07:45:28.811 [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 [] 07:45:28.811 [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 [] 07:45:28.811 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a3/09/a3096a703c665566fcb0a582d616e2a4b11f9a90b4c9327f824e7ada1b55a821.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:45:30.391 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7d/1e/7d1e4e808ae9831082bb018bdd6de686b794f73ee7feef08e08f72ad0c148291.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:45:30.391 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:30.391 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:30.392 [info] {"args":{"id":1301395},"id":419863,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1803466,"event":"job:stop","queue_time":5587905,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:45:30.399 [info] {"args":{"id":1301398},"id":419865,"meta":{},"system_time":1782737130399061550,"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"]} 07:45:30.399 [debug] QUERY OK source="media_items" db=0.2ms idle=242.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" = ?) [1301398] 07:45:30.399 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:45:30.399 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:45:30.400 [debug] QUERY OK source="media_profiles" db=0.1ms idle=100.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:45:30.400 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301398] 07:45:30.401 [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" = ?) [1301398] 07:45:30.401 [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] 07:45:30.401 [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 [] 07:45:30.401 [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 [] 07:45:30.402 [debug] Running yt-dlp command for action: get_downloadable_status 07:45:30.403 [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 [] 07:45:30.403 [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 [] 07:45:30.403 [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 [] 07:45:30.403 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/6c/4c6c4b0b76441c988aef1af57701c30827d39354205bf82780bbb67e53de4672.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:45:30.508 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a3/09/a3096a703c665566fcb0a582d616e2a4b11f9a90b4c9327f824e7ada1b55a821.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:45:30.508 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:30.508 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:30.509 [info] {"args":{"id":1301397},"id":419864,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1701278,"event":"job:stop","queue_time":5806889,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:45:30.515 [info] {"args":{"id":1301399},"id":419866,"meta":{},"system_time":1782737130515437293,"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"]} 07:45:30.515 [debug] QUERY OK source="media_items" db=0.2ms idle=112.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" = ?) [1301399] 07:45:30.516 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:45:30.516 [debug] QUERY OK source="sources" db=0.1ms idle=112.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:45:30.516 [debug] QUERY OK source="media_profiles" db=0.1ms idle=112.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] 07:45:30.517 [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 [1301399] 07:45:30.517 [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" = ?) [1301399] 07:45:30.518 [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] 07:45:30.518 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:45:30.518 [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 [] 07:45:30.518 [debug] Running yt-dlp command for action: get_downloadable_status 07:45:30.519 [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 [] 07:45:30.519 [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 [] 07:45:30.519 [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 [] 07:45:30.520 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/30/7c/307c1742c7c9dbe09b95d4c6517321a9bbe5a153ee473151f642e91df296ae59.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:45:32.185 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/6c/4c6c4b0b76441c988aef1af57701c30827d39354205bf82780bbb67e53de4672.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:45:32.185 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:32.185 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:32.185 [info] {"args":{"id":1301398},"id":419865,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1786328,"event":"job:stop","queue_time":7397913,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:45:32.192 [info] {"args":{"id":1301400},"id":419867,"meta":{},"system_time":1782737132192434580,"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"]} 07:45:32.192 [debug] QUERY OK source="media_items" db=0.1ms idle=35.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" = ?) [1301400] 07:45:32.192 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:45:32.193 [debug] QUERY OK source="sources" db=0.1ms idle=35.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:45:32.193 [debug] QUERY OK source="media_profiles" db=0.1ms idle=36.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] 07:45:32.193 [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 [1301400] 07:45:32.195 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301400] 07:45:32.195 [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] 07:45:32.195 [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 [] 07:45:32.195 [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 [] 07:45:32.195 [debug] Running yt-dlp command for action: get_downloadable_status 07:45:32.196 [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 [] 07:45:32.196 [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 [] 07:45:32.196 [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 [] 07:45:32.197 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cb/99/cb99c54d3bebe57050684a846fbddb12f6cfa6e2cfa2cce80d5e7d466a488ff4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:45:32.362 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/30/7c/307c1742c7c9dbe09b95d4c6517321a9bbe5a153ee473151f642e91df296ae59.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:45:32.363 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:32.363 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:32.363 [info] {"args":{"id":1301399},"id":419866,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1847772,"event":"job:stop","queue_time":7514906,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:45:32.369 [info] {"args":{"id":2720968},"id":419868,"meta":{},"system_time":1782737132369553041,"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"]} 07:45:32.369 [debug] QUERY OK source="media_items" db=0.1ms idle=172.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" = ?) [2720968] 07:45:32.370 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:45:32.370 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [52] 07:45:32.370 [debug] QUERY OK source="media_profiles" db=0.1ms idle=68.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:45:32.370 [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 [2720968] 07:45:32.376 [debug] QUERY OK source="media_metadata" db=0.1ms idle=7.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" = ?) [2720968] 07:45:32.377 [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] 07:45:32.377 [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 [] 07:45:32.377 [debug] QUERY OK source="settings" db=0.1ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:45:32.377 [debug] Running yt-dlp command for action: get_downloadable_status 07:45:32.378 [debug] QUERY OK source="settings" db=0.0ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:45:32.378 [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 [] 07:45:32.379 [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 [] 07:45:32.379 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/26/44/2644d3d0474a8db31cee588b1a5ca6c77983ee6802e1d84de186a31f1470aca4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:45:34.101 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cb/99/cb99c54d3bebe57050684a846fbddb12f6cfa6e2cfa2cce80d5e7d466a488ff4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:45:34.102 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:34.102 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:34.102 [info] {"args":{"id":1301400},"id":419867,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1909831,"event":"job:stop","queue_time":9191897,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:45:34.119 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/26/44/2644d3d0474a8db31cee588b1a5ca6c77983ee6802e1d84de186a31f1470aca4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:45:34.120 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:34.120 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:45:34.120 [info] {"args":{"id":2720968},"id":419868,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1750646,"event":"job:stop","queue_time":9368890,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:45:53.319 [info] {"source":"oban","duration":7827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:00.074 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:46:23.328 [info] {"source":"oban","duration":8039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:46:53.336 [info] {"source":"oban","duration":7573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:00.075 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:47:23.344 [info] {"source":"oban","duration":7228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:53.352 [info] {"source":"oban","duration":7794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:00.076 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:48:23.359 [info] {"source":"oban","duration":5583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":2} 07:48:27.590 [info] {"args":{"id":37},"id":419777,"meta":{},"system_time":1782737307590527279,"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"]} 07:48:27.591 [debug] QUERY OK source="sources" db=0.5ms idle=433.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:27.591 [debug] QUERY OK source="settings" db=0.1ms idle=434.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:48:27.594 [debug] QUERY OK source="media_items" db=2.2ms idle=434.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")))) [37] 07:48:27.594 [debug] QUERY OK source="media_items" db=0.2ms idle=9.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [37] 07:48:27.594 [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] 07:48:27.595 [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 [] 07:48:27.595 [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 [] 07:48:27.598 [debug] QUERY OK source="media_items" db=2.2ms 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 [37] 07:48:27.600 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 07:48:27.600 [debug] Current batch of media processed. Will check again in 1000ms 07:48:27.600 [debug] QUERY OK source="settings" db=0.1ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:48:27.601 [debug] QUERY OK source="settings" db=0.0ms idle=6.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:48:27.601 [debug] QUERY OK source="settings" db=0.0ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:48:27.601 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCUyeluBRhGPCW4rPe_UvBZQ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/be/4b/be4bc1c27be01288d1ec11cd683fe0e55f1345b067248d66a4ef1b8d8417516e.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b6/0e/b60ea8f9aae7f3a143129fad6cc7170b7dc156851f8ec514bc495d02946b1351.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:48:28.601 [debug] Current batch of media processed. Will check again in 1000ms 07:48:29.602 [debug] Current batch of media processed. Will check again in 1000ms 07:48:30.603 [debug] Current batch of media processed. Will check again in 1000ms 07:48:31.604 [debug] Current batch of media processed. Will check again in 1000ms 07:48:32.605 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Having trouble finding the right developer for your team? Get a 7-day free trial + $1,500 off with The Prime’s discount: https://trm.sh/g2i\n\nSources:\n\n- https://x.com/mitchellh/status/2067970516951150721\n\nTopics Covered:\n\n- Poisoning Agents\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 756, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062500_They're Poisoning the Agents!.mp4", "id" => "bh6S4N8TnYQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bh6S4N8TnYQ", "playlist_index" => 1, "timestamp" => 1782392428, "title" => "They're Poisoning the Agents!", "upload_date" => "20260625"} 07:48:32.606 [debug] QUERY OK source="sources" db=0.4ms idle=1448.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:48:32.606 [debug] QUERY OK source="sources" db=0.0ms idle=1449.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:32.609 [debug] QUERY OK source="media_items" db=2.3ms idle=1449.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-25 13:00:28Z], 37] 07:48:32.610 [debug] QUERY OK source="media_items" db=0.7ms idle=1021.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Having trouble finding the right developer for your team? Get a 7-day free trial + $1,500 off with The Prime’s discount: https://trm.sh/g2i\n\nSources:\n\n- https://x.com/mitchellh/status/2067970516951150721\n\nTopics Covered:\n\n- Poisoning Agents\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "They're Poisoning the Agents!", "ae0a81d4-87ab-4afa-9eda-d330196725ba", "bh6S4N8TnYQ", 756, false, "https://www.youtube.com/watch?v=bh6S4N8TnYQ", 1, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062500_They're Poisoning the Agents!.mp4", false, false, false, 37, [], 98, ~U[2026-06-25 13:00:28Z], ~U[2026-06-29 12:48:32Z], ~U[2026-06-29 12:48:32Z], "Having trouble finding the right developer for your team? Get a 7-day free trial + $1,500 off with The Prime’s discount: https://trm.sh/g2i\n\nSources:\n\n- https://x.com/mitchellh/status/2067970516951150721\n\nTopics Covered:\n\n- Poisoning Agents\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "They're Poisoning the Agents!", "bh6S4N8TnYQ", 756, false, "https://www.youtube.com/watch?v=bh6S4N8TnYQ", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062500_They're Poisoning the Agents!.mp4", false, 37, ~U[2026-06-25 13:00:28Z]] 07:48:32.610 [debug] QUERY OK source="sources" db=0.1ms idle=20.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:32.611 [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] 07:48:32.611 [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 [3278226] 07:48:32.611 [debug] Current batch of media processed. Will check again in 1000ms 07:48:33.611 [debug] Current batch of media processed. Will check again in 1000ms 07:48:34.612 [debug] Current batch of media processed. Will check again in 1000ms 07:48:35.614 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/midjourney/status/2067422898407837797?s=20\n\nTopics Covered:\n\n- Midjourney\n- MRIs\n- Data and Data Limits\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 812, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062300_The Craziest AI Pivot yet.mp4", "id" => "nGqGrrYeYGc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nGqGrrYeYGc", "playlist_index" => 2, "timestamp" => 1782225729, "title" => "The Craziest AI Pivot yet", "upload_date" => "20260623"} 07:48:35.615 [debug] QUERY OK source="sources" db=0.2ms idle=1457.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:48:35.615 [debug] QUERY OK source="sources" db=0.1ms idle=1458.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:35.618 [debug] QUERY OK source="media_items" db=2.3ms idle=1458.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-23 14:42:09Z], 37] 07:48:35.619 [debug] QUERY OK source="media_items" db=0.8ms idle=1024.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/midjourney/status/2067422898407837797?s=20\n\nTopics Covered:\n\n- Midjourney\n- MRIs\n- Data and Data Limits\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest AI Pivot yet", "052136c9-d61c-4d9b-ae9f-bd79a7da8ddc", "nGqGrrYeYGc", 812, false, "https://www.youtube.com/watch?v=nGqGrrYeYGc", 2, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062300_The Craziest AI Pivot yet.mp4", false, false, false, 37, [], 98, ~U[2026-06-23 14:42:09Z], ~U[2026-06-29 12:48:35Z], ~U[2026-06-29 12:48:35Z], "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/midjourney/status/2067422898407837797?s=20\n\nTopics Covered:\n\n- Midjourney\n- MRIs\n- Data and Data Limits\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest AI Pivot yet", "nGqGrrYeYGc", 812, false, "https://www.youtube.com/watch?v=nGqGrrYeYGc", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062300_The Craziest AI Pivot yet.mp4", false, 37, ~U[2026-06-23 14:42:09Z]] 07:48:35.619 [debug] QUERY OK source="sources" db=0.3ms idle=24.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:35.620 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:48:35.620 [debug] QUERY OK source="media_items" db=0.1ms 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 [3265454] 07:48:35.620 [debug] Current batch of media processed. Will check again in 1000ms 07:48:36.621 [debug] Current batch of media processed. Will check again in 1000ms 07:48:37.622 [debug] Current batch of media processed. Will check again in 1000ms 07:48:38.623 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams\n\nhttps://trm.sh/kernel\n\nSources:\n\n- https://x.com/AnthropicAI/status/2065597531644743999\n- https://www.politico.com/news/2026/06/13/inside-the-whirlwind-24-hours-that-led-the-white-house-to-slap-export-controls-on-anthropic-00961519\n- https://x.com/hugolowell/status/2066695452016169471?s=20\n- https://x.com/simonw/status/2066722034491789720\n- https://x.com/mark_k/status/2065838368865259892\n- https://x.com/PolymarketMoney/status/2065801798137545076\n- https://x.com/0xPBIT/status/2066613611313906108\n- https://x.com/MilkRoadAI/status/2066309017211986134\n- https://www.sciencealert.com/scientists-developed-an-ai-so-advanced-they-say-it-s-too-dangerous-to-release\n- https://x.com/yunyu_l/status/2065899765645169013\n- https://x.com/yunyu_l/status/2065933211146891435\n- https://darioamodei.com/post/the-urgency-of-interpretability\n- https://x.com/Hangsiin/status/2064397550434816088\n- https://x.com/NathanMcNulty/status/2064549828957507970\n- http://x.com/kradleai/status/2064907897373642912/photo/1\n\nTopics Covered:\n\n- Claude Fable 5\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 898, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061900_Fable Deserved It.mp4", "id" => "jJbelC85zic", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jJbelC85zic", "playlist_index" => 3, "timestamp" => 1781874014, "title" => "Fable Deserved It", "upload_date" => "20260619"} 07:48:38.623 [debug] QUERY OK source="sources" db=0.2ms idle=1466.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:48:38.624 [debug] QUERY OK source="sources" db=0.1ms idle=1466.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:38.626 [debug] QUERY OK source="media_items" db=2.3ms idle=1467.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-19 13:00:14Z], 37] 07:48:38.628 [debug] QUERY OK source="media_items" db=1.0ms idle=1029.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams\n\nhttps://trm.sh/kernel\n\nSources:\n\n- https://x.com/AnthropicAI/status/2065597531644743999\n- https://www.politico.com/news/2026/06/13/inside-the-whirlwind-24-hours-that-led-the-white-house-to-slap-export-controls-on-anthropic-00961519\n- https://x.com/hugolowell/status/2066695452016169471?s=20\n- https://x.com/simonw/status/2066722034491789720\n- https://x.com/mark_k/status/2065838368865259892\n- https://x.com/PolymarketMoney/status/2065801798137545076\n- https://x.com/0xPBIT/status/2066613611313906108\n- https://x.com/MilkRoadAI/status/2066309017211986134\n- https://www.sciencealert.com/scientists-developed-an-ai-so-advanced-they-say-it-s-too-dangerous-to-release\n- https://x.com/yunyu_l/status/2065899765645169013\n- https://x.com/yunyu_l/status/2065933211146891435\n- https://darioamodei.com/post/the-urgency-of-interpretability\n- https://x.com/Hangsiin/status/2064397550434816088\n- https://x.com/NathanMcNulty/status/2064549828957507970\n- http://x.com/kradleai/status/2064907897373642912/photo/1\n\nTopics Covered:\n\n- Claude Fable 5\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Fable Deserved It", "477274d6-47f9-4ef8-aef7-366814bfd6db", "jJbelC85zic", 898, false, "https://www.youtube.com/watch?v=jJbelC85zic", 3, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061900_Fable Deserved It.mp4", false, false, false, 37, [], 98, ~U[2026-06-19 13:00:14Z], ~U[2026-06-29 12:48:38Z], ~U[2026-06-29 12:48:38Z], "KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams\n\nhttps://trm.sh/kernel\n\nSources:\n\n- https://x.com/AnthropicAI/status/2065597531644743999\n- https://www.politico.com/news/2026/06/13/inside-the-whirlwind-24-hours-that-led-the-white-house-to-slap-export-controls-on-anthropic-00961519\n- https://x.com/hugolowell/status/2066695452016169471?s=20\n- https://x.com/simonw/status/2066722034491789720\n- https://x.com/mark_k/status/2065838368865259892\n- https://x.com/PolymarketMoney/status/2065801798137545076\n- https://x.com/0xPBIT/status/2066613611313906108\n- https://x.com/MilkRoadAI/status/2066309017211986134\n- https://www.sciencealert.com/scientists-developed-an-ai-so-advanced-they-say-it-s-too-dangerous-to-release\n- https://x.com/yunyu_l/status/2065899765645169013\n- https://x.com/yunyu_l/status/2065933211146891435\n- https://darioamodei.com/post/the-urgency-of-interpretability\n- https://x.com/Hangsiin/status/2064397550434816088\n- https://x.com/NathanMcNulty/status/2064549828957507970\n- http://x.com/kradleai/status/2064907897373642912/photo/1\n\nTopics Covered:\n\n- Claude Fable 5\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Fable Deserved It", "jJbelC85zic", 898, false, "https://www.youtube.com/watch?v=jJbelC85zic", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061900_Fable Deserved It.mp4", false, 37, ~U[2026-06-19 13:00:14Z]] 07:48:38.628 [debug] QUERY OK source="sources" db=0.1ms idle=29.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:38.628 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:48:38.628 [debug] QUERY OK source="media_items" db=0.1ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3231829] 07:48:38.628 [debug] Current batch of media processed. Will check again in 1000ms 07:48:39.630 [debug] Current batch of media processed. Will check again in 1000ms 07:48:40.631 [debug] Current batch of media processed. Will check again in 1000ms 07:48:41.632 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "ssh terminal.shop\nYes, seriously, this is my company, and we selected and found some of the worlds best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\n## Sources\n\n- https://techcrunch.com/2026/06/12/metas-months-old-ai-unit-is-a-soul-crushing-gulag-say-the-engineers-stuck-inside-it/\n\n## Topics Covered\n\n- Meta and Facebook AI unit\n- Programming Careers\n- The future of AI work\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 841, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061800_What is happening at Meta?.mp4", "id" => "OOCepY3H8k4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OOCepY3H8k4", "playlist_index" => 4, "timestamp" => 1781785817, "title" => "What is happening at Meta?", "upload_date" => "20260618"} 07:48:41.633 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1476.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:48:41.634 [debug] QUERY OK source="sources" db=0.1ms idle=1476.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:41.636 [debug] QUERY OK source="media_items" db=2.4ms idle=1477.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-18 12:30:17Z], 37] 07:48:41.637 [debug] QUERY OK source="media_items" db=0.9ms idle=1036.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["ssh terminal.shop\nYes, seriously, this is my company, and we selected and found some of the worlds best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\n## Sources\n\n- https://techcrunch.com/2026/06/12/metas-months-old-ai-unit-is-a-soul-crushing-gulag-say-the-engineers-stuck-inside-it/\n\n## Topics Covered\n\n- Meta and Facebook AI unit\n- Programming Careers\n- The future of AI work\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "What is happening at Meta?", "327dfedd-6907-4814-8643-c30363754df1", "OOCepY3H8k4", 841, false, "https://www.youtube.com/watch?v=OOCepY3H8k4", 4, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061800_What is happening at Meta?.mp4", false, false, false, 37, [], 98, ~U[2026-06-18 12:30:17Z], ~U[2026-06-29 12:48:41Z], ~U[2026-06-29 12:48:41Z], "ssh terminal.shop\nYes, seriously, this is my company, and we selected and found some of the worlds best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\n## Sources\n\n- https://techcrunch.com/2026/06/12/metas-months-old-ai-unit-is-a-soul-crushing-gulag-say-the-engineers-stuck-inside-it/\n\n## Topics Covered\n\n- Meta and Facebook AI unit\n- Programming Careers\n- The future of AI work\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "What is happening at Meta?", "OOCepY3H8k4", 841, false, "https://www.youtube.com/watch?v=OOCepY3H8k4", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061800_What is happening at Meta?.mp4", false, 37, ~U[2026-06-18 12:30:17Z]] 07:48:41.638 [debug] QUERY OK source="sources" db=0.1ms idle=36.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:41.638 [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] 07:48:41.638 [debug] QUERY OK source="media_items" db=0.1ms 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 [3222955] 07:48:41.638 [debug] Current batch of media processed. Will check again in 1000ms 07:48:42.640 [debug] Current batch of media processed. Will check again in 1000ms 07:48:43.641 [debug] Current batch of media processed. Will check again in 1000ms 07:48:44.642 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\nSources:\n\n- https://www.ioccc.org\n\nTopics Covered:\n\n- The International Obfuscated C Code Contest\n\nhttps://twitch.tv/ThePrimeagen - I stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 1962, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061600_The Craziest Coding Contest Ever.mp4", "id" => "-BhcQURVjJg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-BhcQURVjJg", "playlist_index" => 5, "timestamp" => 1781613029, "title" => "The Craziest Coding Contest Ever", "upload_date" => "20260616"} 07:48:44.642 [debug] QUERY OK source="sources" db=0.1ms idle=1485.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:48:44.642 [debug] QUERY OK source="sources" db=0.1ms idle=1485.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:44.645 [debug] QUERY OK source="media_items" db=2.2ms idle=1485.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 12:30:29Z], 37] 07:48:44.646 [debug] QUERY OK source="media_items" db=0.7ms idle=1041.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\nSources:\n\n- https://www.ioccc.org\n\nTopics Covered:\n\n- The International Obfuscated C Code Contest\n\nhttps://twitch.tv/ThePrimeagen - I stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest Coding Contest Ever", "844f08b0-4a09-40c8-9ab6-2737491f88b5", "-BhcQURVjJg", 1962, false, "https://www.youtube.com/watch?v=-BhcQURVjJg", 5, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061600_The Craziest Coding Contest Ever.mp4", false, false, false, 37, [], 98, ~U[2026-06-16 12:30:29Z], ~U[2026-06-29 12:48:44Z], ~U[2026-06-29 12:48:44Z], "PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\nSources:\n\n- https://www.ioccc.org\n\nTopics Covered:\n\n- The International Obfuscated C Code Contest\n\nhttps://twitch.tv/ThePrimeagen - I stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest Coding Contest Ever", "-BhcQURVjJg", 1962, false, "https://www.youtube.com/watch?v=-BhcQURVjJg", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061600_The Craziest Coding Contest Ever.mp4", false, 37, ~U[2026-06-16 12:30:29Z]] 07:48:44.646 [debug] QUERY OK source="sources" db=0.1ms idle=41.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:44.646 [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] 07:48:44.647 [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 [3209643] 07:48:44.647 [debug] Current batch of media processed. Will check again in 1000ms 07:48:45.648 [debug] Current batch of media processed. Will check again in 1000ms 07:48:46.649 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Linear helps teams track issues, manage projects, collaborate on docs, and ship products - and the crazy thing is their software is actually fast and a joy to use. Learn more: https://trm.sh/linear\n\nSources:\n- Youtube: https: //www.youtube.com/watch?v=RkQQ7WEor7w\n- Graph: https://x.com/AnthropicAI/status/2062568864240836995/photo/1 \n- Wiki / Timeline of Claude: https://en.wikipedia.org/wiki/Claude_(language_model)\n- Github Issue #1: https://github.com/anthropics/claude-code/issues/392\n- Github Issue #2: https://github.com/anthropics/claude-code/issues/769 \n- Github Issue #3: https://github.com/anthropics/claude-code/issues/1913 \n- Flickering 85% solved: https://x.com/trq212/status/2001439019713073626\n- Rolled back: https://x.com/trq212/status/2001848726395269619\n- 3000 Unused Features: https://x.com/CurtTigges/status/2037038538718667103\n- Flickering Solved Feature Flag: https://x.com/bcherny/status/2039421575422980329\n- \"Fewer Error Messages\": https://x.com/ClaudeDevs/status/2059701681349353901\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 811, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061200_I Think They Are Lying To You.mp4", "id" => "zfYsSFY4l18", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zfYsSFY4l18", "playlist_index" => 6, "timestamp" => 1781269208, "title" => "I Think They Are Lying To You", "upload_date" => "20260612"} 07:48:46.650 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=493.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:48:46.650 [debug] QUERY OK source="sources" db=0.0ms idle=493.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:46.653 [debug] QUERY OK source="media_items" db=2.3ms idle=493.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-12 13:00:08Z], 37] 07:48:46.654 [debug] QUERY OK source="media_items" db=1.1ms idle=496.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Linear helps teams track issues, manage projects, collaborate on docs, and ship products - and the crazy thing is their software is actually fast and a joy to use. Learn more: https://trm.sh/linear\n\nSources:\n- Youtube: https: //www.youtube.com/watch?v=RkQQ7WEor7w\n- Graph: https://x.com/AnthropicAI/status/2062568864240836995/photo/1 \n- Wiki / Timeline of Claude: https://en.wikipedia.org/wiki/Claude_(language_model)\n- Github Issue #1: https://github.com/anthropics/claude-code/issues/392\n- Github Issue #2: https://github.com/anthropics/claude-code/issues/769 \n- Github Issue #3: https://github.com/anthropics/claude-code/issues/1913 \n- Flickering 85% solved: https://x.com/trq212/status/2001439019713073626\n- Rolled back: https://x.com/trq212/status/2001848726395269619\n- 3000 Unused Features: https://x.com/CurtTigges/status/2037038538718667103\n- Flickering Solved Feature Flag: https://x.com/bcherny/status/2039421575422980329\n- \"Fewer Error Messages\": https://x.com/ClaudeDevs/status/2059701681349353901\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "I Think They Are Lying To You", "3fa7d734-8fe9-45c1-9349-7a8df2201416", "zfYsSFY4l18", 811, false, "https://www.youtube.com/watch?v=zfYsSFY4l18", 6, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061200_I Think They Are Lying To You.mp4", false, false, false, 37, [], 98, ~U[2026-06-12 13:00:08Z], ~U[2026-06-29 12:48:46Z], ~U[2026-06-29 12:48:46Z], "Linear helps teams track issues, manage projects, collaborate on docs, and ship products - and the crazy thing is their software is actually fast and a joy to use. Learn more: https://trm.sh/linear\n\nSources:\n- Youtube: https: //www.youtube.com/watch?v=RkQQ7WEor7w\n- Graph: https://x.com/AnthropicAI/status/2062568864240836995/photo/1 \n- Wiki / Timeline of Claude: https://en.wikipedia.org/wiki/Claude_(language_model)\n- Github Issue #1: https://github.com/anthropics/claude-code/issues/392\n- Github Issue #2: https://github.com/anthropics/claude-code/issues/769 \n- Github Issue #3: https://github.com/anthropics/claude-code/issues/1913 \n- Flickering 85% solved: https://x.com/trq212/status/2001439019713073626\n- Rolled back: https://x.com/trq212/status/2001848726395269619\n- 3000 Unused Features: https://x.com/CurtTigges/status/2037038538718667103\n- Flickering Solved Feature Flag: https://x.com/bcherny/status/2039421575422980329\n- \"Fewer Error Messages\": https://x.com/ClaudeDevs/status/2059701681349353901\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "I Think They Are Lying To You", "zfYsSFY4l18", 811, false, "https://www.youtube.com/watch?v=zfYsSFY4l18", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061200_I Think They Are Lying To You.mp4", false, 37, ~U[2026-06-12 13:00:08Z]] 07:48:46.655 [debug] QUERY OK source="sources" db=0.1ms idle=47.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:46.655 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 07:48:46.655 [debug] QUERY OK source="media_items" db=0.1ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3175943] 07:48:46.655 [debug] Current batch of media processed. Will check again in 1000ms 07:48:47.657 [debug] Current batch of media processed. Will check again in 1000ms 07:48:48.658 [debug] Current batch of media processed. Will check again in 1000ms 07:48:49.659 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nChapters\n00:00:00 - Intro\n00:00:08 - I was right about Token Cost\n00:02:35 - Prediction 0: AI Labs will trade tokens for equity\n00:02:51 - Prediction 1: Opensource Token Donations\n00:04:06 - Cursor\n00:04:46 - Prediction 2: Token Budgets/Stipends\n00:06:35 - Prediction 3: Token Poker\n00:09:07 - Prediction 4: Org & Team Wide Token Budgets\n00:11:31 - Prediction 5: Rewarding LoC with more token budget\n\nSources:\n- https://geohot.github.io//blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n- https://x.com/BusinessInsider/status/2062211094450434219\n- https://www.wheresyoured.at/ai-is-too-expensive/#organizations-cannot-afford-to-keep-blowing-through-their-ai-budgets-millions-of-dollars-at-a-time-without-roi\n- https://www.lennysnewsletter.com/p/head-of-claude-code-what-happens\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "duration" => 824, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061000_Unfortunately, I Was Right.mp4", "id" => "m-bT5v5Tm7w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m-bT5v5Tm7w", "playlist_index" => 7, "timestamp" => 1781110466, "title" => "Unfortunately, I Was Right", "upload_date" => "20260610"} 07:48:49.659 [debug] QUERY OK source="sources" db=0.2ms idle=1502.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:48:49.660 [debug] QUERY OK source="sources" db=0.2ms idle=1502.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:49.662 [debug] QUERY OK source="media_items" db=2.3ms idle=1503.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-10 16:54:26Z], 37] 07:48:49.664 [debug] QUERY OK source="media_items" db=0.9ms idle=1052.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nChapters\n00:00:00 - Intro\n00:00:08 - I was right about Token Cost\n00:02:35 - Prediction 0: AI Labs will trade tokens for equity\n00:02:51 - Prediction 1: Opensource Token Donations\n00:04:06 - Cursor\n00:04:46 - Prediction 2: Token Budgets/Stipends\n00:06:35 - Prediction 3: Token Poker\n00:09:07 - Prediction 4: Org & Team Wide Token Budgets\n00:11:31 - Prediction 5: Rewarding LoC with more token budget\n\nSources:\n- https://geohot.github.io//blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n- https://x.com/BusinessInsider/status/2062211094450434219\n- https://www.wheresyoured.at/ai-is-too-expensive/#organizations-cannot-afford-to-keep-blowing-through-their-ai-budgets-millions-of-dollars-at-a-time-without-roi\n- https://www.lennysnewsletter.com/p/head-of-claude-code-what-happens\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Unfortunately, I Was Right", "ffa1db59-4587-489a-834e-a3f41c034411", "m-bT5v5Tm7w", 824, false, "https://www.youtube.com/watch?v=m-bT5v5Tm7w", 7, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061000_Unfortunately, I Was Right.mp4", false, false, false, 37, [], 98, ~U[2026-06-10 16:54:26Z], ~U[2026-06-29 12:48:49Z], ~U[2026-06-29 12:48:49Z], "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nChapters\n00:00:00 - Intro\n00:00:08 - I was right about Token Cost\n00:02:35 - Prediction 0: AI Labs will trade tokens for equity\n00:02:51 - Prediction 1: Opensource Token Donations\n00:04:06 - Cursor\n00:04:46 - Prediction 2: Token Budgets/Stipends\n00:06:35 - Prediction 3: Token Poker\n00:09:07 - Prediction 4: Org & Team Wide Token Budgets\n00:11:31 - Prediction 5: Rewarding LoC with more token budget\n\nSources:\n- https://geohot.github.io//blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n- https://x.com/BusinessInsider/status/2062211094450434219\n- https://www.wheresyoured.at/ai-is-too-expensive/#organizations-cannot-afford-to-keep-blowing-through-their-ai-budgets-millions-of-dollars-at-a-time-without-roi\n- https://www.lennysnewsletter.com/p/head-of-claude-code-what-happens\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Unfortunately, I Was Right", "m-bT5v5Tm7w", 824, false, "https://www.youtube.com/watch?v=m-bT5v5Tm7w", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061000_Unfortunately, I Was Right.mp4", false, 37, ~U[2026-06-10 16:54:26Z]] 07:48:49.664 [debug] QUERY OK source="sources" db=0.1ms idle=52.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:49.664 [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] 07:48:49.665 [debug] QUERY OK source="media_items" db=0.1ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3163442] 07:48:49.665 [debug] Current batch of media processed. Will check again in 1000ms 07:48:50.666 [debug] Current batch of media processed. Will check again in 1000ms 07:48:51.667 [debug] Current batch of media processed. Will check again in 1000ms 07:48:52.668 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, and Mintlify → https://trm.sh/blacksmith\n\nResources:\n* https://github.com/golang/go/issues/77273\n\nTopics:\n* Go\n* Language Evolution\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "duration" => 702, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060800_I am done with Golang.mp4", "id" => "WqSWZuGS9pc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WqSWZuGS9pc", "playlist_index" => 8, "timestamp" => 1780921813, "title" => "I am done with Golang", "upload_date" => "20260608"} 07:48:52.669 [debug] QUERY OK source="sources" db=0.3ms idle=1511.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:48:52.669 [debug] QUERY OK source="sources" db=0.1ms idle=1512.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:52.671 [debug] QUERY OK source="media_items" db=2.3ms idle=1512.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-08 12:30:13Z], 37] 07:48:52.687 [debug] QUERY OK source="media_items" db=15.2ms idle=1057.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, and Mintlify → https://trm.sh/blacksmith\n\nResources:\n* https://github.com/golang/go/issues/77273\n\nTopics:\n* Go\n* Language Evolution\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "I am done with Golang", "22c00afe-3ffb-499f-9ab0-ea0fb141856a", "WqSWZuGS9pc", 702, false, "https://www.youtube.com/watch?v=WqSWZuGS9pc", 8, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060800_I am done with Golang.mp4", false, false, false, 37, [], 97, ~U[2026-06-08 12:30:13Z], ~U[2026-06-29 12:48:52Z], ~U[2026-06-29 12:48:52Z], "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, and Mintlify → https://trm.sh/blacksmith\n\nResources:\n* https://github.com/golang/go/issues/77273\n\nTopics:\n* Go\n* Language Evolution\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "I am done with Golang", "WqSWZuGS9pc", 702, false, "https://www.youtube.com/watch?v=WqSWZuGS9pc", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060800_I am done with Golang.mp4", false, 37, ~U[2026-06-08 12:30:13Z]] 07:48:52.688 [debug] QUERY OK source="sources" db=0.2ms idle=72.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:52.688 [debug] QUERY OK source="media_profiles" db=0.1ms idle=19.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:48:52.688 [debug] QUERY OK source="media_items" db=0.1ms idle=19.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3142826] 07:48:52.688 [debug] Current batch of media processed. Will check again in 1000ms 07:48:53.367 [info] {"source":"oban","duration":7887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:53.689 [debug] Current batch of media processed. Will check again in 1000ms 07:48:54.691 [debug] Current batch of media processed. Will check again in 1000ms 07:48:55.692 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Checkout out Code Rabbit at https://trm.sh/coderabbit\n\nFull Episode:\nYoutube: https://youtu.be/PxNr7k1v-Rk\nSpotify: https://open.spotify.com/episode/4VOHebTzXEThro58G1ArKp\n\n[Description]\nWe dive deep into technical performance debates, specifically the nuances of floating-point math—is multiplying by a reciprocal actually faster than division on modern CPUs?\n\nWe also break down the latest from Microsoft and NVIDIA, including the \"RTX Spark\" and the vision of \"unmetered intelligence.\" Plus, don't miss \"Trash Facts\" about professional bowling and the latest \"Snack Picks.\"\n\n[Chapters]\n00:00:00 - Intro\n00:03:32 - CodeRabbit\n00:05:28 - Prime Blocker\n00:27:48 - Outro\n\n[Sponsors]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "duration" => 1693, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060700_Casey Destroys Optimization Myths | TheStandup.mp4", "id" => "pslodI0Mh_0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pslodI0Mh_0", "playlist_index" => 9, "timestamp" => 1780837211, "title" => "Casey Destroys Optimization Myths | TheStandup", "upload_date" => "20260607"} 07:48:55.692 [debug] QUERY OK source="sources" db=0.2ms idle=1535.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:48:55.693 [debug] QUERY OK source="sources" db=0.1ms idle=1535.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:55.695 [debug] QUERY OK source="media_items" db=2.3ms idle=1075.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-07 13:00:11Z], 37] 07:48:55.700 [debug] QUERY OK source="media_items" db=4.3ms idle=538.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Checkout out Code Rabbit at https://trm.sh/coderabbit\n\nFull Episode:\nYoutube: https://youtu.be/PxNr7k1v-Rk\nSpotify: https://open.spotify.com/episode/4VOHebTzXEThro58G1ArKp\n\n[Description]\nWe dive deep into technical performance debates, specifically the nuances of floating-point math—is multiplying by a reciprocal actually faster than division on modern CPUs?\n\nWe also break down the latest from Microsoft and NVIDIA, including the \"RTX Spark\" and the vision of \"unmetered intelligence.\" Plus, don't miss \"Trash Facts\" about professional bowling and the latest \"Snack Picks.\"\n\n[Chapters]\n00:00:00 - Intro\n00:03:32 - CodeRabbit\n00:05:28 - Prime Blocker\n00:27:48 - Outro\n\n[Sponsors]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Casey Destroys Optimization Myths | TheStandup", "822b2f78-b857-4c67-8514-732aeebd84d1", "pslodI0Mh_0", 1693, false, "https://www.youtube.com/watch?v=pslodI0Mh_0", 9, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060700_Casey Destroys Optimization Myths | TheStandup.mp4", false, false, false, 37, [], 97, ~U[2026-06-07 13:00:11Z], ~U[2026-06-29 12:48:55Z], ~U[2026-06-29 12:48:55Z], "Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Checkout out Code Rabbit at https://trm.sh/coderabbit\n\nFull Episode:\nYoutube: https://youtu.be/PxNr7k1v-Rk\nSpotify: https://open.spotify.com/episode/4VOHebTzXEThro58G1ArKp\n\n[Description]\nWe dive deep into technical performance debates, specifically the nuances of floating-point math—is multiplying by a reciprocal actually faster than division on modern CPUs?\n\nWe also break down the latest from Microsoft and NVIDIA, including the \"RTX Spark\" and the vision of \"unmetered intelligence.\" Plus, don't miss \"Trash Facts\" about professional bowling and the latest \"Snack Picks.\"\n\n[Chapters]\n00:00:00 - Intro\n00:03:32 - CodeRabbit\n00:05:28 - Prime Blocker\n00:27:48 - Outro\n\n[Sponsors]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Casey Destroys Optimization Myths | TheStandup", "pslodI0Mh_0", 1693, false, "https://www.youtube.com/watch?v=pslodI0Mh_0", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060700_Casey Destroys Optimization Myths | TheStandup.mp4", false, 37, ~U[2026-06-07 13:00:11Z]] 07:48:55.700 [debug] QUERY OK source="sources" db=0.2ms idle=81.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:55.701 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:48:55.701 [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 [3137555] 07:48:55.701 [debug] Current batch of media processed. Will check again in 1000ms 07:48:56.702 [debug] Current batch of media processed. Will check again in 1000ms 07:48:57.703 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n- https://world.hey.com/dhh/let-the-agents-democratize-open-source-9fd630a9\n- https://ziglang.org/code-of-conduct/#strict-no-llm-no-ai-policy\n- https://github.com/mitchellh/vouch\n- https://x.com/kirancodes/status/2060389488317116649\n- https://www.youtube.com/watch?v=iqddnwKF8HQ\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 1000, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060500_It finally happened.mp4", "id" => "pkndFYSTr0Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pkndFYSTr0Y", "playlist_index" => 10, "timestamp" => 1780664405, "title" => "It finally happened", "upload_date" => "20260605"} 07:48:57.704 [debug] QUERY OK source="sources" db=0.3ms idle=547.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:48:57.704 [debug] QUERY OK source="sources" db=0.1ms idle=547.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:57.707 [debug] QUERY OK source="media_items" db=2.3ms idle=547.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-05 13:00:05Z], 37] 07:48:57.710 [debug] QUERY OK source="media_items" db=2.7ms idle=550.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n- https://world.hey.com/dhh/let-the-agents-democratize-open-source-9fd630a9\n- https://ziglang.org/code-of-conduct/#strict-no-llm-no-ai-policy\n- https://github.com/mitchellh/vouch\n- https://x.com/kirancodes/status/2060389488317116649\n- https://www.youtube.com/watch?v=iqddnwKF8HQ\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "It finally happened", "b7aac2c6-d0e7-461b-9d19-e753550f25f5", "pkndFYSTr0Y", 1000, false, "https://www.youtube.com/watch?v=pkndFYSTr0Y", 10, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060500_It finally happened.mp4", false, false, false, 37, [], 98, ~U[2026-06-05 13:00:05Z], ~U[2026-06-29 12:48:57Z], ~U[2026-06-29 12:48:57Z], "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n- https://world.hey.com/dhh/let-the-agents-democratize-open-source-9fd630a9\n- https://ziglang.org/code-of-conduct/#strict-no-llm-no-ai-policy\n- https://github.com/mitchellh/vouch\n- https://x.com/kirancodes/status/2060389488317116649\n- https://www.youtube.com/watch?v=iqddnwKF8HQ\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "It finally happened", "pkndFYSTr0Y", 1000, false, "https://www.youtube.com/watch?v=pkndFYSTr0Y", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060500_It finally happened.mp4", false, 37, ~U[2026-06-05 13:00:05Z]] 07:48:57.710 [debug] QUERY OK source="sources" db=0.1ms idle=88.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:48:57.710 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:48:57.711 [debug] QUERY OK source="media_items" db=0.1ms idle=6.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 [3121243] 07:48:57.711 [debug] Current batch of media processed. Will check again in 1000ms 07:48:58.712 [debug] Current batch of media processed. Will check again in 1000ms 07:48:59.713 [debug] Current batch of media processed. Will check again in 1000ms 07:49:00.077 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:49:00.714 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Big A: https://youtube.com/@AtriocClips\n\nSources:\nhttps://geohot.github.io/blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n\nTopics Covered:\n- Layoffs in 2026\n- AI affecting Jobs\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 2452, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060300_Layoffs are getting Wild (ft. Big A).mp4", "id" => "f1jlJCNgtOg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f1jlJCNgtOg", "playlist_index" => 11, "timestamp" => 1780489815, "title" => "Layoffs are getting Wild (ft. Big A)", "upload_date" => "20260603"} 07:49:00.715 [debug] QUERY OK source="sources" db=0.3ms idle=1557.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:49:00.715 [debug] QUERY OK source="sources" db=0.1ms idle=1558.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:00.718 [debug] QUERY OK source="media_items" db=2.5ms idle=1091.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-03 12:30:15Z], 37] 07:49:00.719 [debug] QUERY OK source="media_items" db=0.8ms idle=641.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Big A: https://youtube.com/@AtriocClips\n\nSources:\nhttps://geohot.github.io/blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n\nTopics Covered:\n- Layoffs in 2026\n- AI affecting Jobs\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Layoffs are getting Wild (ft. Big A)", "983e8bfd-100c-4894-baaf-13ddc998703b", "f1jlJCNgtOg", 2452, false, "https://www.youtube.com/watch?v=f1jlJCNgtOg", 11, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060300_Layoffs are getting Wild (ft. Big A).mp4", false, false, false, 37, [], 98, ~U[2026-06-03 12:30:15Z], ~U[2026-06-29 12:49:00Z], ~U[2026-06-29 12:49:00Z], "Big A: https://youtube.com/@AtriocClips\n\nSources:\nhttps://geohot.github.io/blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n\nTopics Covered:\n- Layoffs in 2026\n- AI affecting Jobs\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Layoffs are getting Wild (ft. Big A)", "f1jlJCNgtOg", 2452, false, "https://www.youtube.com/watch?v=f1jlJCNgtOg", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060300_Layoffs are getting Wild (ft. Big A).mp4", false, 37, ~U[2026-06-03 12:30:15Z]] 07:49:00.719 [debug] QUERY OK source="sources" db=0.1ms idle=93.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:00.719 [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] 07:49:00.720 [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 [3105100] 07:49:00.720 [debug] Current batch of media processed. Will check again in 1000ms 07:49:01.721 [debug] Current batch of media processed. Will check again in 1000ms 07:49:02.722 [debug] Current batch of media processed. Will check again in 1000ms 07:49:03.723 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams https://trm.sh/kernel\n\nSources:\n\n- https://blog.barracuda.com/2026/05/19/nightmare-eclipse-zero-days-grudge\n- https://x.com/podalirius_/status/2059892083029069929\n- https://x.com/GabrielLandau/status/2059990548337828090\n- https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure\n- https://www.linkedin.com/pulse/microsoftthe-truth-even-worse-than-you-think-amit-yoran/\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 627, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060100_"We will ruin your life" -Microsoft.mp4", "id" => "9kxx5xp5nTQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9kxx5xp5nTQ", "playlist_index" => 12, "timestamp" => 1780318809, "title" => "\"We will ruin your life\" -Microsoft", "upload_date" => "20260601"} 07:49:03.723 [debug] QUERY OK source="sources" db=0.2ms idle=1566.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:49:03.724 [debug] QUERY OK source="sources" db=0.1ms idle=1566.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:03.726 [debug] QUERY OK source="media_items" db=2.7ms idle=1567.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 13:00:09Z], 37] 07:49:03.728 [debug] QUERY OK source="media_items" db=0.9ms idle=1098.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams https://trm.sh/kernel\n\nSources:\n\n- https://blog.barracuda.com/2026/05/19/nightmare-eclipse-zero-days-grudge\n- https://x.com/podalirius_/status/2059892083029069929\n- https://x.com/GabrielLandau/status/2059990548337828090\n- https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure\n- https://www.linkedin.com/pulse/microsoftthe-truth-even-worse-than-you-think-amit-yoran/\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "\"We will ruin your life\" -Microsoft", "64ccfb1f-238e-4564-9d1c-d8d9c071eac8", "9kxx5xp5nTQ", 627, false, "https://www.youtube.com/watch?v=9kxx5xp5nTQ", 12, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060100_"We will ruin your life" -Microsoft.mp4", false, false, false, 37, [], 95, ~U[2026-06-01 13:00:09Z], ~U[2026-06-29 12:49:03Z], ~U[2026-06-29 12:49:03Z], "KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams https://trm.sh/kernel\n\nSources:\n\n- https://blog.barracuda.com/2026/05/19/nightmare-eclipse-zero-days-grudge\n- https://x.com/podalirius_/status/2059892083029069929\n- https://x.com/GabrielLandau/status/2059990548337828090\n- https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure\n- https://www.linkedin.com/pulse/microsoftthe-truth-even-worse-than-you-think-amit-yoran/\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "\"We will ruin your life\" -Microsoft", "9kxx5xp5nTQ", 627, false, "https://www.youtube.com/watch?v=9kxx5xp5nTQ", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060100_"We will ruin your life" -Microsoft.mp4", false, 37, ~U[2026-06-01 13:00:09Z]] 07:49:03.728 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [37] 07:49:03.728 [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] 07:49:03.729 [debug] QUERY OK source="media_items" db=0.1ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3089808] 07:49:03.729 [debug] Current batch of media processed. Will check again in 1000ms 07:49:04.730 [debug] Current batch of media processed. Will check again in 1000ms 07:49:05.731 [debug] Current batch of media processed. Will check again in 1000ms 07:49:06.732 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to this week's sponsor: Code Rabbit If you're tired of developers just replying with LGTM, then you NEED Code Rabbit. An actually useful application of AI where it can use your own rules, lints and more to provide instant feedback in your editor OR a review on Github. https://coderabbit.link/primeagen-vscode\n\nFull Episode\nSpotify: https://open.spotify.com/episode/7xcNgaZ7d0PgCNqNk9v1ge?si=BoDbRw6rRuSfhQ48wlGTkA\nYoutube: https://youtu.be/AapTIwXPztM\n\nPeep Trash’s Dotfiles: https://github.com/bautistaaa/dotfiles\n\nTrash takes us through his \"hell on earth\" first week switching from Mac to Linux. From battling Wi-Fi drivers on an ancient MacBook Air to discovering the aesthetic joy of Hyperland and custom dot files, this episode covers the highs and lows of the Linux desktop experience. We also dive into the messy definitions of AGI, the utility of efficiency cores in modern CPUs, and why everyone needs a dedicated snack officer.\n\nChapters\n00:00:00 - Intro\n00:00:22 - Choosing a Linux Distro\n00:03:41 - MergeCop\n00:05:32 - Back to Distros\n00:08:42 - Hyprland\n00:11:37 - Scuffed Demo\n00:19:47 - Compositors\n00:22:31 - Linux Pilled\n00:23:46 - Configuration for Everything\n00:25:47 - Picking a Laptop for Linux\n00:29:35 - More Distros\n00:31:06 - Packages and User land\n00:48:17 - DirectX\n00:50:15 - Distro differences and Install experiences\n00:54:57 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "duration" => 3359, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e053000_Trash VS Linux | TheStandup.mp4", "id" => "kSuMjLbjqsI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kSuMjLbjqsI", "playlist_index" => 13, "timestamp" => 1780146014, "title" => "Trash VS Linux | TheStandup", "upload_date" => "20260530"} 07:49:06.732 [debug] QUERY OK source="sources" db=0.2ms idle=1575.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:49:06.733 [debug] QUERY OK source="sources" db=0.1ms idle=1575.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:06.735 [debug] QUERY OK source="media_items" db=2.3ms idle=1576.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-30 13:00:14Z], 37] 07:49:06.737 [debug] QUERY OK source="media_items" db=1.4ms idle=1103.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to this week's sponsor: Code Rabbit If you're tired of developers just replying with LGTM, then you NEED Code Rabbit. An actually useful application of AI where it can use your own rules, lints and more to provide instant feedback in your editor OR a review on Github. https://coderabbit.link/primeagen-vscode\n\nFull Episode\nSpotify: https://open.spotify.com/episode/7xcNgaZ7d0PgCNqNk9v1ge?si=BoDbRw6rRuSfhQ48wlGTkA\nYoutube: https://youtu.be/AapTIwXPztM\n\nPeep Trash’s Dotfiles: https://github.com/bautistaaa/dotfiles\n\nTrash takes us through his \"hell on earth\" first week switching from Mac to Linux. From battling Wi-Fi drivers on an ancient MacBook Air to discovering the aesthetic joy of Hyperland and custom dot files, this episode covers the highs and lows of the Linux desktop experience. We also dive into the messy definitions of AGI, the utility of efficiency cores in modern CPUs, and why everyone needs a dedicated snack officer.\n\nChapters\n00:00:00 - Intro\n00:00:22 - Choosing a Linux Distro\n00:03:41 - MergeCop\n00:05:32 - Back to Distros\n00:08:42 - Hyprland\n00:11:37 - Scuffed Demo\n00:19:47 - Compositors\n00:22:31 - Linux Pilled\n00:23:46 - Configuration for Everything\n00:25:47 - Picking a Laptop for Linux\n00:29:35 - More Distros\n00:31:06 - Packages and User land\n00:48:17 - DirectX\n00:50:15 - Distro differences and Install experiences\n00:54:57 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Trash VS Linux | TheStandup", "702d1bca-8b99-4256-8f85-316b79d0d050", "kSuMjLbjqsI", 3359, false, "https://www.youtube.com/watch?v=kSuMjLbjqsI", 13, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e053000_Trash VS Linux | TheStandup.mp4", false, false, false, 37, [], 96, ~U[2026-05-30 13:00:14Z], ~U[2026-06-29 12:49:06Z], ~U[2026-06-29 12:49:06Z], "Thanks to this week's sponsor: Code Rabbit If you're tired of developers just replying with LGTM, then you NEED Code Rabbit. An actually useful application of AI where it can use your own rules, lints and more to provide instant feedback in your editor OR a review on Github. https://coderabbit.link/primeagen-vscode\n\nFull Episode\nSpotify: https://open.spotify.com/episode/7xcNgaZ7d0PgCNqNk9v1ge?si=BoDbRw6rRuSfhQ48wlGTkA\nYoutube: https://youtu.be/AapTIwXPztM\n\nPeep Trash’s Dotfiles: https://github.com/bautistaaa/dotfiles\n\nTrash takes us through his \"hell on earth\" first week switching from Mac to Linux. From battling Wi-Fi drivers on an ancient MacBook Air to discovering the aesthetic joy of Hyperland and custom dot files, this episode covers the highs and lows of the Linux desktop experience. We also dive into the messy definitions of AGI, the utility of efficiency cores in modern CPUs, and why everyone needs a dedicated snack officer.\n\nChapters\n00:00:00 - Intro\n00:00:22 - Choosing a Linux Distro\n00:03:41 - MergeCop\n00:05:32 - Back to Distros\n00:08:42 - Hyprland\n00:11:37 - Scuffed Demo\n00:19:47 - Compositors\n00:22:31 - Linux Pilled\n00:23:46 - Configuration for Everything\n00:25:47 - Picking a Laptop for Linux\n00:29:35 - More Distros\n00:31:06 - Packages and User land\n00:48:17 - DirectX\n00:50:15 - Distro differences and Install experiences\n00:54:57 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Trash VS Linux | TheStandup", "kSuMjLbjqsI", 3359, false, "https://www.youtube.com/watch?v=kSuMjLbjqsI", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e053000_Trash VS Linux | TheStandup.mp4", false, 37, ~U[2026-05-30 13:00:14Z]] 07:49:06.737 [debug] QUERY OK source="sources" db=0.1ms idle=103.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:06.738 [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] 07:49:06.738 [debug] QUERY OK source="media_items" db=0.1ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3074131] 07:49:06.738 [debug] Current batch of media processed. Will check again in 1000ms 07:49:07.739 [debug] Current batch of media processed. Will check again in 1000ms 07:49:08.740 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "https://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nssh [terminal.shop](http://terminal.shop/)\nTurns out if you drink coffee all day while programming, you become extremely annoying about coffee quality. So we made our own. Fresh roasted. Weirdly good. US only (for now).\n\n## Sources\n\n* https://fortune.com/2026/05/26/uber-coo-ai-spending-tokens-claude-code/\n\n## Topics Covered\n\n* Productivity in Tech\n* Agentic Engineering \n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "duration" => 810, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052900_Maybe we were wrong.mp4", "id" => "SUDrFXFV-6U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SUDrFXFV-6U", "playlist_index" => 14, "timestamp" => 1780057839, "title" => "Maybe we were wrong", "upload_date" => "20260529"} 07:49:08.740 [debug] QUERY OK source="sources" db=0.2ms idle=583.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:49:08.741 [debug] QUERY OK source="sources" db=0.1ms idle=583.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:08.743 [debug] QUERY OK source="media_items" db=2.5ms idle=584.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-29 12:30:39Z], 37] 07:49:08.744 [debug] QUERY OK source="media_items" db=0.7ms idle=586.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["https://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nssh [terminal.shop](http://terminal.shop/)\nTurns out if you drink coffee all day while programming, you become extremely annoying about coffee quality. So we made our own. Fresh roasted. Weirdly good. US only (for now).\n\n## Sources\n\n* https://fortune.com/2026/05/26/uber-coo-ai-spending-tokens-claude-code/\n\n## Topics Covered\n\n* Productivity in Tech\n* Agentic Engineering \n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Maybe we were wrong", "83906550-a2ab-4674-a3f6-7f949706d07e", "SUDrFXFV-6U", 810, false, "https://www.youtube.com/watch?v=SUDrFXFV-6U", 14, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052900_Maybe we were wrong.mp4", false, false, false, 37, [], 97, ~U[2026-05-29 12:30:39Z], ~U[2026-06-29 12:49:08Z], ~U[2026-06-29 12:49:08Z], "https://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nssh [terminal.shop](http://terminal.shop/)\nTurns out if you drink coffee all day while programming, you become extremely annoying about coffee quality. So we made our own. Fresh roasted. Weirdly good. US only (for now).\n\n## Sources\n\n* https://fortune.com/2026/05/26/uber-coo-ai-spending-tokens-claude-code/\n\n## Topics Covered\n\n* Productivity in Tech\n* Agentic Engineering \n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Maybe we were wrong", "SUDrFXFV-6U", 810, false, "https://www.youtube.com/watch?v=SUDrFXFV-6U", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052900_Maybe we were wrong.mp4", false, 37, ~U[2026-05-29 12:30:39Z]] 07:49:08.745 [debug] QUERY OK source="sources" db=0.1ms idle=108.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:08.745 [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] 07:49:08.745 [debug] QUERY OK source="media_items" db=0.1ms 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 [3065866] 07:49:08.745 [debug] Current batch of media processed. Will check again in 1000ms 07:49:09.747 [debug] Current batch of media processed. Will check again in 1000ms 07:49:10.748 [debug] Current batch of media processed. Will check again in 1000ms 07:49:11.749 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Check out Code Rabbit at https://trm.sh/coderabbit\n\nSources:\n\n- https://x.com/MarioNawfal/status/2056170401831796778\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 835, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052800_Finally a Normal CEO.mp4", "id" => "-AgwE_4_slM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-AgwE_4_slM", "playlist_index" => 15, "timestamp" => 1779973223, "title" => "Finally a Normal CEO", "upload_date" => "20260528"} 07:49:11.750 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1593.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:49:11.750 [debug] QUERY OK source="sources" db=0.1ms idle=1593.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:11.753 [debug] QUERY OK source="media_items" db=2.7ms idle=1593.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-28 13:00:23Z], 37] 07:49:11.754 [debug] QUERY OK source="media_items" db=0.8ms idle=1113.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Check out Code Rabbit at https://trm.sh/coderabbit\n\nSources:\n\n- https://x.com/MarioNawfal/status/2056170401831796778\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Finally a Normal CEO", "40497647-aaa6-4a77-a3cd-79a418162e57", "-AgwE_4_slM", 835, false, "https://www.youtube.com/watch?v=-AgwE_4_slM", 15, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052800_Finally a Normal CEO.mp4", false, false, false, 37, [], 98, ~U[2026-05-28 13:00:23Z], ~U[2026-06-29 12:49:11Z], ~U[2026-06-29 12:49:11Z], "Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Check out Code Rabbit at https://trm.sh/coderabbit\n\nSources:\n\n- https://x.com/MarioNawfal/status/2056170401831796778\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Finally a Normal CEO", "-AgwE_4_slM", 835, false, "https://www.youtube.com/watch?v=-AgwE_4_slM", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052800_Finally a Normal CEO.mp4", false, 37, ~U[2026-05-28 13:00:23Z]] 07:49:11.755 [debug] QUERY OK source="sources" db=0.1ms idle=113.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:11.755 [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] 07:49:11.755 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3057443] 07:49:11.755 [debug] Current batch of media processed. Will check again in 1000ms 07:49:12.757 [debug] Current batch of media processed. Will check again in 1000ms 07:49:13.758 [debug] Current batch of media processed. Will check again in 1000ms 07:49:14.759 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n\n- https://x.com/i/status/2055405041843052792\n- https://x.com/i/status/2055346265869721905\n\nTopics Covered:\n\n- Token Spending\n- Token Efficiency\n- Buy VS Build VS Vibe\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 720, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052500_Everyone is Wrong about Tokens.mp4", "id" => "0zw-Uk9KJiA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0zw-Uk9KJiA", "playlist_index" => 16, "timestamp" => 1779714031, "title" => "Everyone is Wrong about Tokens", "upload_date" => "20260525"} 07:49:14.760 [debug] QUERY OK source="sources" db=0.2ms idle=1603.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:49:14.760 [debug] QUERY OK source="sources" db=0.1ms idle=1603.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:14.763 [debug] QUERY OK source="media_items" db=2.2ms idle=1603.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-25 13:00:31Z], 37] 07:49:14.764 [debug] QUERY OK source="media_items" db=0.7ms idle=1118.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n\n- https://x.com/i/status/2055405041843052792\n- https://x.com/i/status/2055346265869721905\n\nTopics Covered:\n\n- Token Spending\n- Token Efficiency\n- Buy VS Build VS Vibe\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Everyone is Wrong about Tokens", "c2bd99e7-5d78-4932-85cf-cd61a1a19ac9", "0zw-Uk9KJiA", 720, false, "https://www.youtube.com/watch?v=0zw-Uk9KJiA", 16, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052500_Everyone is Wrong about Tokens.mp4", false, false, false, 37, [], 97, ~U[2026-05-25 13:00:31Z], ~U[2026-06-29 12:49:14Z], ~U[2026-06-29 12:49:14Z], "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n\n- https://x.com/i/status/2055405041843052792\n- https://x.com/i/status/2055346265869721905\n\nTopics Covered:\n\n- Token Spending\n- Token Efficiency\n- Buy VS Build VS Vibe\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Everyone is Wrong about Tokens", "0zw-Uk9KJiA", 720, false, "https://www.youtube.com/watch?v=0zw-Uk9KJiA", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052500_Everyone is Wrong about Tokens.mp4", false, 37, ~U[2026-05-25 13:00:31Z]] 07:49:14.764 [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" = ?) [37] 07:49:14.764 [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] 07:49:14.765 [debug] QUERY OK source="media_items" db=0.1ms 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 [3032070] 07:49:14.765 [debug] Current batch of media processed. Will check again in 1000ms 07:49:15.766 [debug] Current batch of media processed. Will check again in 1000ms 07:49:16.767 [debug] Current batch of media processed. Will check again in 1000ms 07:49:17.768 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Full episode\nYouTube: https://youtu.be/EnbqwpkmoCM\nSpotify: https://open.spotify.com/episode/0BnVK6eJDJA115Q2dDh0i9\n\n\nssh terminal.shop\n Yes, seriously, this is my company, and we selected and found some of the world’s best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\nThe crew dives into “AI psychosis,” coding with GPT vs Claude, doom scrolling tech Twitter, meme culture, burnout, obsession, and what happens when developers start letting AI run wild. Equal parts hilarious, insightful, and slightly concerning.\n\nChapters\n00:00:00 - Intro\n00:02:05 - The Timeline\n00:03:22 - Terminal Coffee\n00:03:56 - The Timeline Continued\n00:06:22 - OpenAI vs Anthropic\n00:11:35 - The Psychosis\n00:19:34 - The Signs\n00:22:58 - Detox\n00:25:33 - Relapse\n00:26:34 - Working day without Psychosis\n00:30:30 - AI Psychosis Detector\n00:32:02 - Triggers\n00:37:11 - Real Questions\n00:39:02 - Advice\n00:44:43 - Closing Thoughts\n00:45:35 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "duration" => 2753, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052400_Recovering from AI Psychosis | TheStandup.mp4", "id" => "cVUVfn8OF5k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cVUVfn8OF5k", "playlist_index" => 17, "timestamp" => 1779627626, "title" => "Recovering from AI Psychosis | TheStandup", "upload_date" => "20260524"} 07:49:17.768 [debug] QUERY OK source="sources" db=0.2ms idle=1611.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:49:17.769 [debug] QUERY OK source="sources" db=0.1ms idle=1611.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:17.771 [debug] QUERY OK source="media_items" db=2.2ms idle=1612.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 13:00:26Z], 37] 07:49:17.776 [debug] QUERY OK source="media_items" db=4.8ms idle=1121.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Full episode\nYouTube: https://youtu.be/EnbqwpkmoCM\nSpotify: https://open.spotify.com/episode/0BnVK6eJDJA115Q2dDh0i9\n\n\nssh terminal.shop\n Yes, seriously, this is my company, and we selected and found some of the world’s best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\nThe crew dives into “AI psychosis,” coding with GPT vs Claude, doom scrolling tech Twitter, meme culture, burnout, obsession, and what happens when developers start letting AI run wild. Equal parts hilarious, insightful, and slightly concerning.\n\nChapters\n00:00:00 - Intro\n00:02:05 - The Timeline\n00:03:22 - Terminal Coffee\n00:03:56 - The Timeline Continued\n00:06:22 - OpenAI vs Anthropic\n00:11:35 - The Psychosis\n00:19:34 - The Signs\n00:22:58 - Detox\n00:25:33 - Relapse\n00:26:34 - Working day without Psychosis\n00:30:30 - AI Psychosis Detector\n00:32:02 - Triggers\n00:37:11 - Real Questions\n00:39:02 - Advice\n00:44:43 - Closing Thoughts\n00:45:35 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Recovering from AI Psychosis | TheStandup", "bac3c590-6052-4994-9c0f-a29650ca4e97", "cVUVfn8OF5k", 2753, false, "https://www.youtube.com/watch?v=cVUVfn8OF5k", 17, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052400_Recovering from AI Psychosis | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-05-24 13:00:26Z], ~U[2026-06-29 12:49:17Z], ~U[2026-06-29 12:49:17Z], "Full episode\nYouTube: https://youtu.be/EnbqwpkmoCM\nSpotify: https://open.spotify.com/episode/0BnVK6eJDJA115Q2dDh0i9\n\n\nssh terminal.shop\n Yes, seriously, this is my company, and we selected and found some of the world’s best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\nThe crew dives into “AI psychosis,” coding with GPT vs Claude, doom scrolling tech Twitter, meme culture, burnout, obsession, and what happens when developers start letting AI run wild. Equal parts hilarious, insightful, and slightly concerning.\n\nChapters\n00:00:00 - Intro\n00:02:05 - The Timeline\n00:03:22 - Terminal Coffee\n00:03:56 - The Timeline Continued\n00:06:22 - OpenAI vs Anthropic\n00:11:35 - The Psychosis\n00:19:34 - The Signs\n00:22:58 - Detox\n00:25:33 - Relapse\n00:26:34 - Working day without Psychosis\n00:30:30 - AI Psychosis Detector\n00:32:02 - Triggers\n00:37:11 - Real Questions\n00:39:02 - Advice\n00:44:43 - Closing Thoughts\n00:45:35 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Recovering from AI Psychosis | TheStandup", "cVUVfn8OF5k", 2753, false, "https://www.youtube.com/watch?v=cVUVfn8OF5k", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052400_Recovering from AI Psychosis | TheStandup.mp4", false, 37, ~U[2026-05-24 13:00:26Z]] 07:49:17.777 [debug] QUERY OK source="sources" db=0.2ms idle=125.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:17.777 [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] 07:49:17.777 [debug] QUERY OK source="media_items" db=0.1ms idle=8.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 [3029732] 07:49:17.777 [debug] Current batch of media processed. Will check again in 1000ms 07:49:18.779 [debug] Current batch of media processed. Will check again in 1000ms 07:49:19.780 [debug] Current batch of media processed. Will check again in 1000ms 07:49:20.781 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\n## Sources\n\n- https://github.blog/security/investigating-unauthorized-access-to-githubs-internal-repositories/\n- https://techcrunch.com/2026/05/20/github-says-hackers-stole-data-from-thousands-of-internal-repositories/\n\n## Topics Covered\n\n- The latest in a series of Github Hacks\n- Security in the Age of Vibe-coding\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh [terminal.shop](http://terminal.shop/)\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "duration" => 643, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052200_Github’s Wildest Hack Yet.mp4", "id" => "9tcLy9TnPDU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9tcLy9TnPDU", "playlist_index" => 18, "timestamp" => 1779454817, "title" => "Github’s Wildest Hack Yet", "upload_date" => "20260522"} 07:49:20.781 [debug] QUERY OK source="sources" db=0.2ms idle=1624.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:49:20.782 [debug] QUERY OK source="sources" db=0.1ms idle=1624.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:20.784 [debug] QUERY OK source="media_items" db=2.2ms idle=1625.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 13:00:17Z], 37] 07:49:20.785 [debug] QUERY OK source="media_items" db=0.8ms idle=1130.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\n## Sources\n\n- https://github.blog/security/investigating-unauthorized-access-to-githubs-internal-repositories/\n- https://techcrunch.com/2026/05/20/github-says-hackers-stole-data-from-thousands-of-internal-repositories/\n\n## Topics Covered\n\n- The latest in a series of Github Hacks\n- Security in the Age of Vibe-coding\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh [terminal.shop](http://terminal.shop/)\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Github’s Wildest Hack Yet", "b9ec4f28-3be2-4e3f-a145-d9aee2282f9d", "9tcLy9TnPDU", 643, false, "https://www.youtube.com/watch?v=9tcLy9TnPDU", 18, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052200_Github’s Wildest Hack Yet.mp4", false, false, false, 37, [], 98, ~U[2026-05-22 13:00:17Z], ~U[2026-06-29 12:49:20Z], ~U[2026-06-29 12:49:20Z], "PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\n## Sources\n\n- https://github.blog/security/investigating-unauthorized-access-to-githubs-internal-repositories/\n- https://techcrunch.com/2026/05/20/github-says-hackers-stole-data-from-thousands-of-internal-repositories/\n\n## Topics Covered\n\n- The latest in a series of Github Hacks\n- Security in the Age of Vibe-coding\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh [terminal.shop](http://terminal.shop/)\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Github’s Wildest Hack Yet", "9tcLy9TnPDU", 643, false, "https://www.youtube.com/watch?v=9tcLy9TnPDU", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052200_Github’s Wildest Hack Yet.mp4", false, 37, ~U[2026-05-22 13:00:17Z]] 07:49:20.786 [debug] QUERY OK source="sources" db=0.2ms idle=129.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:20.786 [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] 07:49:20.786 [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 [3011232] 07:49:20.786 [debug] Current batch of media processed. Will check again in 1000ms 07:49:21.787 [debug] Current batch of media processed. Will check again in 1000ms 07:49:22.788 [debug] Current batch of media processed. Will check again in 1000ms 07:49:23.037 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCUyeluBRhGPCW4rPe_UvBZQ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/be/4b/be4bc1c27be01288d1ec11cd683fe0e55f1345b067248d66a4ef1b8d8417516e.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b6/0e/b60ea8f9aae7f3a143129fad6cc7170b7dc156851f8ec514bc495d02946b1351.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 07:49:23.037 [debug] Gracefully stopping file follower 07:49:23.038 [debug] QUERY OK source="sources" db=0.3ms idle=880.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 07:49:23.038 [debug] QUERY OK source="sources" db=0.1ms idle=881.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:23.041 [debug] QUERY OK source="media_items" db=2.3ms idle=881.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-25 13:00:28Z], 37] 07:49:23.042 [debug] QUERY OK source="media_items" db=0.7ms idle=884.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Having trouble finding the right developer for your team? Get a 7-day free trial + $1,500 off with The Prime’s discount: https://trm.sh/g2i\n\nSources:\n\n- https://x.com/mitchellh/status/2067970516951150721\n\nTopics Covered:\n\n- Poisoning Agents\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "They're Poisoning the Agents!", "9b208e47-0587-44d6-a9a6-1b5a1b00d117", "bh6S4N8TnYQ", 756, false, "https://www.youtube.com/watch?v=bh6S4N8TnYQ", 1, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062500_They're Poisoning the Agents!.mp4", false, false, false, 37, [], 98, ~U[2026-06-25 13:00:28Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "Having trouble finding the right developer for your team? Get a 7-day free trial + $1,500 off with The Prime’s discount: https://trm.sh/g2i\n\nSources:\n\n- https://x.com/mitchellh/status/2067970516951150721\n\nTopics Covered:\n\n- Poisoning Agents\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "They're Poisoning the Agents!", "bh6S4N8TnYQ", 756, false, "https://www.youtube.com/watch?v=bh6S4N8TnYQ", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062500_They're Poisoning the Agents!.mp4", false, 37, ~U[2026-06-25 13:00:28Z]] 07:49:23.042 [debug] QUERY OK source="sources" db=0.1ms idle=382.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:23.044 [debug] QUERY OK source="media_items" db=2.1ms 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-06-23 14:42:09Z], 37] 07:49:23.045 [debug] QUERY OK source="media_items" db=0.7ms idle=6.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/midjourney/status/2067422898407837797?s=20\n\nTopics Covered:\n\n- Midjourney\n- MRIs\n- Data and Data Limits\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest AI Pivot yet", "1ca06065-0013-48bd-affd-221e7787c0c5", "nGqGrrYeYGc", 812, false, "https://www.youtube.com/watch?v=nGqGrrYeYGc", 2, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062300_The Craziest AI Pivot yet.mp4", false, false, false, 37, [], 98, ~U[2026-06-23 14:42:09Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/midjourney/status/2067422898407837797?s=20\n\nTopics Covered:\n\n- Midjourney\n- MRIs\n- Data and Data Limits\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest AI Pivot yet", "nGqGrrYeYGc", 812, false, "https://www.youtube.com/watch?v=nGqGrrYeYGc", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e062300_The Craziest AI Pivot yet.mp4", false, 37, ~U[2026-06-23 14:42:09Z]] 07:49:23.046 [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" = ?) [37] 07:49:23.048 [debug] QUERY OK source="media_items" db=1.9ms 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-06-19 13:00:14Z], 37] 07:49:23.049 [debug] QUERY OK source="media_items" db=0.9ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams\n\nhttps://trm.sh/kernel\n\nSources:\n\n- https://x.com/AnthropicAI/status/2065597531644743999\n- https://www.politico.com/news/2026/06/13/inside-the-whirlwind-24-hours-that-led-the-white-house-to-slap-export-controls-on-anthropic-00961519\n- https://x.com/hugolowell/status/2066695452016169471?s=20\n- https://x.com/simonw/status/2066722034491789720\n- https://x.com/mark_k/status/2065838368865259892\n- https://x.com/PolymarketMoney/status/2065801798137545076\n- https://x.com/0xPBIT/status/2066613611313906108\n- https://x.com/MilkRoadAI/status/2066309017211986134\n- https://www.sciencealert.com/scientists-developed-an-ai-so-advanced-they-say-it-s-too-dangerous-to-release\n- https://x.com/yunyu_l/status/2065899765645169013\n- https://x.com/yunyu_l/status/2065933211146891435\n- https://darioamodei.com/post/the-urgency-of-interpretability\n- https://x.com/Hangsiin/status/2064397550434816088\n- https://x.com/NathanMcNulty/status/2064549828957507970\n- http://x.com/kradleai/status/2064907897373642912/photo/1\n\nTopics Covered:\n\n- Claude Fable 5\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Fable Deserved It", "86d3f2de-e2c0-4013-a4d9-74d2727bd2fc", "jJbelC85zic", 898, false, "https://www.youtube.com/watch?v=jJbelC85zic", 3, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061900_Fable Deserved It.mp4", false, false, false, 37, [], 98, ~U[2026-06-19 13:00:14Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams\n\nhttps://trm.sh/kernel\n\nSources:\n\n- https://x.com/AnthropicAI/status/2065597531644743999\n- https://www.politico.com/news/2026/06/13/inside-the-whirlwind-24-hours-that-led-the-white-house-to-slap-export-controls-on-anthropic-00961519\n- https://x.com/hugolowell/status/2066695452016169471?s=20\n- https://x.com/simonw/status/2066722034491789720\n- https://x.com/mark_k/status/2065838368865259892\n- https://x.com/PolymarketMoney/status/2065801798137545076\n- https://x.com/0xPBIT/status/2066613611313906108\n- https://x.com/MilkRoadAI/status/2066309017211986134\n- https://www.sciencealert.com/scientists-developed-an-ai-so-advanced-they-say-it-s-too-dangerous-to-release\n- https://x.com/yunyu_l/status/2065899765645169013\n- https://x.com/yunyu_l/status/2065933211146891435\n- https://darioamodei.com/post/the-urgency-of-interpretability\n- https://x.com/Hangsiin/status/2064397550434816088\n- https://x.com/NathanMcNulty/status/2064549828957507970\n- http://x.com/kradleai/status/2064907897373642912/photo/1\n\nTopics Covered:\n\n- Claude Fable 5\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Fable Deserved It", "jJbelC85zic", 898, false, "https://www.youtube.com/watch?v=jJbelC85zic", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061900_Fable Deserved It.mp4", false, 37, ~U[2026-06-19 13:00:14Z]] 07:49:23.049 [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" = ?) [37] 07:49:23.051 [debug] QUERY OK source="media_items" db=1.9ms 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-06-18 12:30:17Z], 37] 07:49:23.053 [debug] QUERY OK source="media_items" db=0.8ms idle=6.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["ssh terminal.shop\nYes, seriously, this is my company, and we selected and found some of the worlds best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\n## Sources\n\n- https://techcrunch.com/2026/06/12/metas-months-old-ai-unit-is-a-soul-crushing-gulag-say-the-engineers-stuck-inside-it/\n\n## Topics Covered\n\n- Meta and Facebook AI unit\n- Programming Careers\n- The future of AI work\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "What is happening at Meta?", "c4290b2b-4aca-46ce-abce-19becbc34c1e", "OOCepY3H8k4", 841, false, "https://www.youtube.com/watch?v=OOCepY3H8k4", 4, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061800_What is happening at Meta?.mp4", false, false, false, 37, [], 98, ~U[2026-06-18 12:30:17Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "ssh terminal.shop\nYes, seriously, this is my company, and we selected and found some of the worlds best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\n## Sources\n\n- https://techcrunch.com/2026/06/12/metas-months-old-ai-unit-is-a-soul-crushing-gulag-say-the-engineers-stuck-inside-it/\n\n## Topics Covered\n\n- Meta and Facebook AI unit\n- Programming Careers\n- The future of AI work\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "What is happening at Meta?", "OOCepY3H8k4", 841, false, "https://www.youtube.com/watch?v=OOCepY3H8k4", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061800_What is happening at Meta?.mp4", false, 37, ~U[2026-06-18 12:30:17Z]] 07:49:23.053 [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" = ?) [37] 07:49:23.055 [debug] QUERY OK source="media_items" db=1.9ms 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-06-16 12:30:29Z], 37] 07:49:23.056 [debug] QUERY OK source="media_items" db=0.6ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\nSources:\n\n- https://www.ioccc.org\n\nTopics Covered:\n\n- The International Obfuscated C Code Contest\n\nhttps://twitch.tv/ThePrimeagen - I stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest Coding Contest Ever", "267d34e0-8699-4001-b8b5-e190e77c3ddb", "-BhcQURVjJg", 1962, false, "https://www.youtube.com/watch?v=-BhcQURVjJg", 5, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061600_The Craziest Coding Contest Ever.mp4", false, false, false, 37, [], 98, ~U[2026-06-16 12:30:29Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\nSources:\n\n- https://www.ioccc.org\n\nTopics Covered:\n\n- The International Obfuscated C Code Contest\n\nhttps://twitch.tv/ThePrimeagen - I stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "The Craziest Coding Contest Ever", "-BhcQURVjJg", 1962, false, "https://www.youtube.com/watch?v=-BhcQURVjJg", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061600_The Craziest Coding Contest Ever.mp4", false, 37, ~U[2026-06-16 12:30:29Z]] 07:49:23.056 [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" = ?) [37] 07:49:23.058 [debug] QUERY OK source="media_items" db=1.9ms 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-06-12 13:00:08Z], 37] 07:49:23.059 [debug] QUERY OK source="media_items" db=0.7ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Linear helps teams track issues, manage projects, collaborate on docs, and ship products - and the crazy thing is their software is actually fast and a joy to use. Learn more: https://trm.sh/linear\n\nSources:\n- Youtube: https: //www.youtube.com/watch?v=RkQQ7WEor7w\n- Graph: https://x.com/AnthropicAI/status/2062568864240836995/photo/1 \n- Wiki / Timeline of Claude: https://en.wikipedia.org/wiki/Claude_(language_model)\n- Github Issue #1: https://github.com/anthropics/claude-code/issues/392\n- Github Issue #2: https://github.com/anthropics/claude-code/issues/769 \n- Github Issue #3: https://github.com/anthropics/claude-code/issues/1913 \n- Flickering 85% solved: https://x.com/trq212/status/2001439019713073626\n- Rolled back: https://x.com/trq212/status/2001848726395269619\n- 3000 Unused Features: https://x.com/CurtTigges/status/2037038538718667103\n- Flickering Solved Feature Flag: https://x.com/bcherny/status/2039421575422980329\n- \"Fewer Error Messages\": https://x.com/ClaudeDevs/status/2059701681349353901\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "I Think They Are Lying To You", "c4d967e0-e317-4680-a85b-c1d2193b1bec", "zfYsSFY4l18", 811, false, "https://www.youtube.com/watch?v=zfYsSFY4l18", 6, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061200_I Think They Are Lying To You.mp4", false, false, false, 37, [], 98, ~U[2026-06-12 13:00:08Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "Linear helps teams track issues, manage projects, collaborate on docs, and ship products - and the crazy thing is their software is actually fast and a joy to use. Learn more: https://trm.sh/linear\n\nSources:\n- Youtube: https: //www.youtube.com/watch?v=RkQQ7WEor7w\n- Graph: https://x.com/AnthropicAI/status/2062568864240836995/photo/1 \n- Wiki / Timeline of Claude: https://en.wikipedia.org/wiki/Claude_(language_model)\n- Github Issue #1: https://github.com/anthropics/claude-code/issues/392\n- Github Issue #2: https://github.com/anthropics/claude-code/issues/769 \n- Github Issue #3: https://github.com/anthropics/claude-code/issues/1913 \n- Flickering 85% solved: https://x.com/trq212/status/2001439019713073626\n- Rolled back: https://x.com/trq212/status/2001848726395269619\n- 3000 Unused Features: https://x.com/CurtTigges/status/2037038538718667103\n- Flickering Solved Feature Flag: https://x.com/bcherny/status/2039421575422980329\n- \"Fewer Error Messages\": https://x.com/ClaudeDevs/status/2059701681349353901\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "I Think They Are Lying To You", "zfYsSFY4l18", 811, false, "https://www.youtube.com/watch?v=zfYsSFY4l18", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061200_I Think They Are Lying To You.mp4", false, 37, ~U[2026-06-12 13:00:08Z]] 07:49:23.060 [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" = ?) [37] 07:49:23.062 [debug] QUERY OK source="media_items" db=1.9ms 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-06-10 16:54:26Z], 37] 07:49:23.063 [debug] QUERY OK source="media_items" db=0.7ms idle=5.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nChapters\n00:00:00 - Intro\n00:00:08 - I was right about Token Cost\n00:02:35 - Prediction 0: AI Labs will trade tokens for equity\n00:02:51 - Prediction 1: Opensource Token Donations\n00:04:06 - Cursor\n00:04:46 - Prediction 2: Token Budgets/Stipends\n00:06:35 - Prediction 3: Token Poker\n00:09:07 - Prediction 4: Org & Team Wide Token Budgets\n00:11:31 - Prediction 5: Rewarding LoC with more token budget\n\nSources:\n- https://geohot.github.io//blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n- https://x.com/BusinessInsider/status/2062211094450434219\n- https://www.wheresyoured.at/ai-is-too-expensive/#organizations-cannot-afford-to-keep-blowing-through-their-ai-budgets-millions-of-dollars-at-a-time-without-roi\n- https://www.lennysnewsletter.com/p/head-of-claude-code-what-happens\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Unfortunately, I Was Right", "eb9c1c6c-3c8c-47e4-9f5a-0c5fd003c9ce", "m-bT5v5Tm7w", 824, false, "https://www.youtube.com/watch?v=m-bT5v5Tm7w", 7, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061000_Unfortunately, I Was Right.mp4", false, false, false, 37, [], 98, ~U[2026-06-10 16:54:26Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nChapters\n00:00:00 - Intro\n00:00:08 - I was right about Token Cost\n00:02:35 - Prediction 0: AI Labs will trade tokens for equity\n00:02:51 - Prediction 1: Opensource Token Donations\n00:04:06 - Cursor\n00:04:46 - Prediction 2: Token Budgets/Stipends\n00:06:35 - Prediction 3: Token Poker\n00:09:07 - Prediction 4: Org & Team Wide Token Budgets\n00:11:31 - Prediction 5: Rewarding LoC with more token budget\n\nSources:\n- https://geohot.github.io//blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n- https://x.com/BusinessInsider/status/2062211094450434219\n- https://www.wheresyoured.at/ai-is-too-expensive/#organizations-cannot-afford-to-keep-blowing-through-their-ai-budgets-millions-of-dollars-at-a-time-without-roi\n- https://www.lennysnewsletter.com/p/head-of-claude-code-what-happens\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Unfortunately, I Was Right", "m-bT5v5Tm7w", 824, false, "https://www.youtube.com/watch?v=m-bT5v5Tm7w", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e061000_Unfortunately, I Was Right.mp4", false, 37, ~U[2026-06-10 16:54:26Z]] 07:49:23.063 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [37] 07:49:23.065 [debug] QUERY OK source="media_items" db=1.8ms 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-06-08 12:30:13Z], 37] 07:49:23.066 [debug] QUERY OK source="media_items" db=0.6ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, and Mintlify → https://trm.sh/blacksmith\n\nResources:\n* https://github.com/golang/go/issues/77273\n\nTopics:\n* Go\n* Language Evolution\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "I am done with Golang", "ca892437-2319-4bfe-a360-64686a26170b", "WqSWZuGS9pc", 702, false, "https://www.youtube.com/watch?v=WqSWZuGS9pc", 8, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060800_I am done with Golang.mp4", false, false, false, 37, [], 97, ~U[2026-06-08 12:30:13Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3,500 companies, including Ashby, Veed, Clerk, and Mintlify → https://trm.sh/blacksmith\n\nResources:\n* https://github.com/golang/go/issues/77273\n\nTopics:\n* Go\n* Language Evolution\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "I am done with Golang", "WqSWZuGS9pc", 702, false, "https://www.youtube.com/watch?v=WqSWZuGS9pc", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060800_I am done with Golang.mp4", false, 37, ~U[2026-06-08 12:30:13Z]] 07:49:23.067 [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" = ?) [37] 07:49:23.069 [debug] QUERY OK source="media_items" db=1.9ms 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-06-07 13:00:11Z], 37] 07:49:23.070 [debug] QUERY OK source="media_items" db=0.7ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Checkout out Code Rabbit at https://trm.sh/coderabbit\n\nFull Episode:\nYoutube: https://youtu.be/PxNr7k1v-Rk\nSpotify: https://open.spotify.com/episode/4VOHebTzXEThro58G1ArKp\n\n[Description]\nWe dive deep into technical performance debates, specifically the nuances of floating-point math—is multiplying by a reciprocal actually faster than division on modern CPUs?\n\nWe also break down the latest from Microsoft and NVIDIA, including the \"RTX Spark\" and the vision of \"unmetered intelligence.\" Plus, don't miss \"Trash Facts\" about professional bowling and the latest \"Snack Picks.\"\n\n[Chapters]\n00:00:00 - Intro\n00:03:32 - CodeRabbit\n00:05:28 - Prime Blocker\n00:27:48 - Outro\n\n[Sponsors]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Casey Destroys Optimization Myths | TheStandup", "f34078bc-bcf8-45fd-bd08-dec0bb53dc21", "pslodI0Mh_0", 1693, false, "https://www.youtube.com/watch?v=pslodI0Mh_0", 9, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060700_Casey Destroys Optimization Myths | TheStandup.mp4", false, false, false, 37, [], 97, ~U[2026-06-07 13:00:11Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Checkout out Code Rabbit at https://trm.sh/coderabbit\n\nFull Episode:\nYoutube: https://youtu.be/PxNr7k1v-Rk\nSpotify: https://open.spotify.com/episode/4VOHebTzXEThro58G1ArKp\n\n[Description]\nWe dive deep into technical performance debates, specifically the nuances of floating-point math—is multiplying by a reciprocal actually faster than division on modern CPUs?\n\nWe also break down the latest from Microsoft and NVIDIA, including the \"RTX Spark\" and the vision of \"unmetered intelligence.\" Plus, don't miss \"Trash Facts\" about professional bowling and the latest \"Snack Picks.\"\n\n[Chapters]\n00:00:00 - Intro\n00:03:32 - CodeRabbit\n00:05:28 - Prime Blocker\n00:27:48 - Outro\n\n[Sponsors]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Casey Destroys Optimization Myths | TheStandup", "pslodI0Mh_0", 1693, false, "https://www.youtube.com/watch?v=pslodI0Mh_0", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060700_Casey Destroys Optimization Myths | TheStandup.mp4", false, 37, ~U[2026-06-07 13:00:11Z]] 07:49:23.070 [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" = ?) [37] 07:49:23.072 [debug] QUERY OK source="media_items" db=1.8ms 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-06-05 13:00:05Z], 37] 07:49:23.073 [debug] QUERY OK source="media_items" db=0.7ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n- https://world.hey.com/dhh/let-the-agents-democratize-open-source-9fd630a9\n- https://ziglang.org/code-of-conduct/#strict-no-llm-no-ai-policy\n- https://github.com/mitchellh/vouch\n- https://x.com/kirancodes/status/2060389488317116649\n- https://www.youtube.com/watch?v=iqddnwKF8HQ\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "It finally happened", "40dacb48-d6e2-4032-b349-55bb17fe3190", "pkndFYSTr0Y", 1000, false, "https://www.youtube.com/watch?v=pkndFYSTr0Y", 10, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060500_It finally happened.mp4", false, false, false, 37, [], 98, ~U[2026-06-05 13:00:05Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n- https://world.hey.com/dhh/let-the-agents-democratize-open-source-9fd630a9\n- https://ziglang.org/code-of-conduct/#strict-no-llm-no-ai-policy\n- https://github.com/mitchellh/vouch\n- https://x.com/kirancodes/status/2060389488317116649\n- https://www.youtube.com/watch?v=iqddnwKF8HQ\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "It finally happened", "pkndFYSTr0Y", 1000, false, "https://www.youtube.com/watch?v=pkndFYSTr0Y", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060500_It finally happened.mp4", false, 37, ~U[2026-06-05 13:00:05Z]] 07:49:23.073 [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" = ?) [37] 07:49:23.075 [debug] QUERY OK source="media_items" db=1.9ms 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-06-03 12:30:15Z], 37] 07:49:23.076 [debug] QUERY OK source="media_items" db=0.6ms idle=5.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Big A: https://youtube.com/@AtriocClips\n\nSources:\nhttps://geohot.github.io/blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n\nTopics Covered:\n- Layoffs in 2026\n- AI affecting Jobs\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Layoffs are getting Wild (ft. Big A)", "b5d83e0d-853e-461d-8a09-1294aa2853ba", "f1jlJCNgtOg", 2452, false, "https://www.youtube.com/watch?v=f1jlJCNgtOg", 11, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060300_Layoffs are getting Wild (ft. Big A).mp4", false, false, false, 37, [], 98, ~U[2026-06-03 12:30:15Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "Big A: https://youtube.com/@AtriocClips\n\nSources:\nhttps://geohot.github.io/blog/jekyll/update/2026/05/24/the-eternal-sloptember.html\n\nTopics Covered:\n- Layoffs in 2026\n- AI affecting Jobs\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Layoffs are getting Wild (ft. Big A)", "f1jlJCNgtOg", 2452, false, "https://www.youtube.com/watch?v=f1jlJCNgtOg", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060300_Layoffs are getting Wild (ft. Big A).mp4", false, 37, ~U[2026-06-03 12:30:15Z]] 07:49:23.077 [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" = ?) [37] 07:49:23.079 [debug] QUERY OK source="media_items" db=1.9ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-01 13:00:09Z], 37] 07:49:23.080 [debug] QUERY OK source="media_items" db=0.7ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams https://trm.sh/kernel\n\nSources:\n\n- https://blog.barracuda.com/2026/05/19/nightmare-eclipse-zero-days-grudge\n- https://x.com/podalirius_/status/2059892083029069929\n- https://x.com/GabrielLandau/status/2059990548337828090\n- https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure\n- https://www.linkedin.com/pulse/microsoftthe-truth-even-worse-than-you-think-amit-yoran/\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "\"We will ruin your life\" -Microsoft", "905dd576-ebae-4c80-895b-773cd83b1818", "9kxx5xp5nTQ", 627, false, "https://www.youtube.com/watch?v=9kxx5xp5nTQ", 12, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060100_"We will ruin your life" -Microsoft.mp4", false, false, false, 37, [], 95, ~U[2026-06-01 13:00:09Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "KERNEL builds crazy fast, open source infra for AI agents to access the internet. Trusted by Framer, Cash App, and 3000+ teams https://trm.sh/kernel\n\nSources:\n\n- https://blog.barracuda.com/2026/05/19/nightmare-eclipse-zero-days-grudge\n- https://x.com/podalirius_/status/2059892083029069929\n- https://x.com/GabrielLandau/status/2059990548337828090\n- https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure\n- https://www.linkedin.com/pulse/microsoftthe-truth-even-worse-than-you-think-amit-yoran/\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "\"We will ruin your life\" -Microsoft", "9kxx5xp5nTQ", 627, false, "https://www.youtube.com/watch?v=9kxx5xp5nTQ", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e060100_"We will ruin your life" -Microsoft.mp4", false, 37, ~U[2026-06-01 13:00:09Z]] 07:49:23.080 [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" = ?) [37] 07:49:23.082 [debug] QUERY OK source="media_items" db=1.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-05-30 13:00:14Z], 37] 07:49:23.084 [debug] QUERY OK source="media_items" db=1.0ms idle=5.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to this week's sponsor: Code Rabbit If you're tired of developers just replying with LGTM, then you NEED Code Rabbit. An actually useful application of AI where it can use your own rules, lints and more to provide instant feedback in your editor OR a review on Github. https://coderabbit.link/primeagen-vscode\n\nFull Episode\nSpotify: https://open.spotify.com/episode/7xcNgaZ7d0PgCNqNk9v1ge?si=BoDbRw6rRuSfhQ48wlGTkA\nYoutube: https://youtu.be/AapTIwXPztM\n\nPeep Trash’s Dotfiles: https://github.com/bautistaaa/dotfiles\n\nTrash takes us through his \"hell on earth\" first week switching from Mac to Linux. From battling Wi-Fi drivers on an ancient MacBook Air to discovering the aesthetic joy of Hyperland and custom dot files, this episode covers the highs and lows of the Linux desktop experience. We also dive into the messy definitions of AGI, the utility of efficiency cores in modern CPUs, and why everyone needs a dedicated snack officer.\n\nChapters\n00:00:00 - Intro\n00:00:22 - Choosing a Linux Distro\n00:03:41 - MergeCop\n00:05:32 - Back to Distros\n00:08:42 - Hyprland\n00:11:37 - Scuffed Demo\n00:19:47 - Compositors\n00:22:31 - Linux Pilled\n00:23:46 - Configuration for Everything\n00:25:47 - Picking a Laptop for Linux\n00:29:35 - More Distros\n00:31:06 - Packages and User land\n00:48:17 - DirectX\n00:50:15 - Distro differences and Install experiences\n00:54:57 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Trash VS Linux | TheStandup", "24ccfbc3-7e52-41fa-a234-2bd69b57c599", "kSuMjLbjqsI", 3359, false, "https://www.youtube.com/watch?v=kSuMjLbjqsI", 13, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e053000_Trash VS Linux | TheStandup.mp4", false, false, false, 37, [], 96, ~U[2026-05-30 13:00:14Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "Thanks to this week's sponsor: Code Rabbit If you're tired of developers just replying with LGTM, then you NEED Code Rabbit. An actually useful application of AI where it can use your own rules, lints and more to provide instant feedback in your editor OR a review on Github. https://coderabbit.link/primeagen-vscode\n\nFull Episode\nSpotify: https://open.spotify.com/episode/7xcNgaZ7d0PgCNqNk9v1ge?si=BoDbRw6rRuSfhQ48wlGTkA\nYoutube: https://youtu.be/AapTIwXPztM\n\nPeep Trash’s Dotfiles: https://github.com/bautistaaa/dotfiles\n\nTrash takes us through his \"hell on earth\" first week switching from Mac to Linux. From battling Wi-Fi drivers on an ancient MacBook Air to discovering the aesthetic joy of Hyperland and custom dot files, this episode covers the highs and lows of the Linux desktop experience. We also dive into the messy definitions of AGI, the utility of efficiency cores in modern CPUs, and why everyone needs a dedicated snack officer.\n\nChapters\n00:00:00 - Intro\n00:00:22 - Choosing a Linux Distro\n00:03:41 - MergeCop\n00:05:32 - Back to Distros\n00:08:42 - Hyprland\n00:11:37 - Scuffed Demo\n00:19:47 - Compositors\n00:22:31 - Linux Pilled\n00:23:46 - Configuration for Everything\n00:25:47 - Picking a Laptop for Linux\n00:29:35 - More Distros\n00:31:06 - Packages and User land\n00:48:17 - DirectX\n00:50:15 - Distro differences and Install experiences\n00:54:57 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Trash VS Linux | TheStandup", "kSuMjLbjqsI", 3359, false, "https://www.youtube.com/watch?v=kSuMjLbjqsI", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e053000_Trash VS Linux | TheStandup.mp4", false, 37, ~U[2026-05-30 13:00:14Z]] 07:49:23.084 [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" = ?) [37] 07:49:23.086 [debug] QUERY OK source="media_items" db=2.0ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-29 12:30:39Z], 37] 07:49:23.087 [debug] QUERY OK source="media_items" db=0.7ms idle=6.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["https://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nssh [terminal.shop](http://terminal.shop/)\nTurns out if you drink coffee all day while programming, you become extremely annoying about coffee quality. So we made our own. Fresh roasted. Weirdly good. US only (for now).\n\n## Sources\n\n* https://fortune.com/2026/05/26/uber-coo-ai-spending-tokens-claude-code/\n\n## Topics Covered\n\n* Productivity in Tech\n* Agentic Engineering \n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Maybe we were wrong", "6a859607-590d-4aa1-91ec-f8f49a551131", "SUDrFXFV-6U", 810, false, "https://www.youtube.com/watch?v=SUDrFXFV-6U", 14, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052900_Maybe we were wrong.mp4", false, false, false, 37, [], 97, ~U[2026-05-29 12:30:39Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "https://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nssh [terminal.shop](http://terminal.shop/)\nTurns out if you drink coffee all day while programming, you become extremely annoying about coffee quality. So we made our own. Fresh roasted. Weirdly good. US only (for now).\n\n## Sources\n\n* https://fortune.com/2026/05/26/uber-coo-ai-spending-tokens-claude-code/\n\n## Topics Covered\n\n* Productivity in Tech\n* Agentic Engineering \n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Maybe we were wrong", "SUDrFXFV-6U", 810, false, "https://www.youtube.com/watch?v=SUDrFXFV-6U", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052900_Maybe we were wrong.mp4", false, 37, ~U[2026-05-29 12:30:39Z]] 07:49:23.088 [debug] QUERY OK source="sources" db=0.3ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:23.090 [debug] QUERY OK source="media_items" db=2.1ms 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-28 13:00:23Z], 37] 07:49:23.093 [debug] QUERY OK source="media_items" db=2.4ms idle=6.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Check out Code Rabbit at https://trm.sh/coderabbit\n\nSources:\n\n- https://x.com/MarioNawfal/status/2056170401831796778\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Finally a Normal CEO", "0ff2e243-ac10-4426-aba1-16ff85eec421", "-AgwE_4_slM", 835, false, "https://www.youtube.com/watch?v=-AgwE_4_slM", 15, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052800_Finally a Normal CEO.mp4", false, false, false, 37, [], 98, ~U[2026-05-28 13:00:23Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "Don’t let bad code get merged without reviewing (hopefully not by merge cop!). Check out Code Rabbit at https://trm.sh/coderabbit\n\nSources:\n\n- https://x.com/MarioNawfal/status/2056170401831796778\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Finally a Normal CEO", "-AgwE_4_slM", 835, false, "https://www.youtube.com/watch?v=-AgwE_4_slM", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052800_Finally a Normal CEO.mp4", false, 37, ~U[2026-05-28 13:00:23Z]] 07:49:23.093 [debug] QUERY OK source="sources" db=0.3ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:23.096 [debug] QUERY OK source="media_items" db=2.1ms idle=6.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-25 13:00:31Z], 37] 07:49:23.097 [debug] QUERY OK source="media_items" db=0.8ms idle=7.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n\n- https://x.com/i/status/2055405041843052792\n- https://x.com/i/status/2055346265869721905\n\nTopics Covered:\n\n- Token Spending\n- Token Efficiency\n- Buy VS Build VS Vibe\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Everyone is Wrong about Tokens", "5b8c79df-c0a8-494f-a576-db32bab9526e", "0zw-Uk9KJiA", 720, false, "https://www.youtube.com/watch?v=0zw-Uk9KJiA", 16, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052500_Everyone is Wrong about Tokens.mp4", false, false, false, 37, [], 97, ~U[2026-05-25 13:00:31Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "Cursor is the best way to build software with AI → https://trm.sh/cursor\n\nSources:\n\n- https://x.com/i/status/2055405041843052792\n- https://x.com/i/status/2055346265869721905\n\nTopics Covered:\n\n- Token Spending\n- Token Efficiency\n- Buy VS Build VS Vibe\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Everyone is Wrong about Tokens", "0zw-Uk9KJiA", 720, false, "https://www.youtube.com/watch?v=0zw-Uk9KJiA", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052500_Everyone is Wrong about Tokens.mp4", false, 37, ~U[2026-05-25 13:00:31Z]] 07:49:23.097 [debug] QUERY OK source="sources" db=0.3ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 07:49:23.099 [debug] QUERY OK source="media_items" db=1.9ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-24 13:00:26Z], 37] 07:49:23.101 [debug] QUERY OK source="media_items" db=0.9ms idle=6.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Full episode\nYouTube: https://youtu.be/EnbqwpkmoCM\nSpotify: https://open.spotify.com/episode/0BnVK6eJDJA115Q2dDh0i9\n\n\nssh terminal.shop\n Yes, seriously, this is my company, and we selected and found some of the world’s best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\nThe crew dives into “AI psychosis,” coding with GPT vs Claude, doom scrolling tech Twitter, meme culture, burnout, obsession, and what happens when developers start letting AI run wild. Equal parts hilarious, insightful, and slightly concerning.\n\nChapters\n00:00:00 - Intro\n00:02:05 - The Timeline\n00:03:22 - Terminal Coffee\n00:03:56 - The Timeline Continued\n00:06:22 - OpenAI vs Anthropic\n00:11:35 - The Psychosis\n00:19:34 - The Signs\n00:22:58 - Detox\n00:25:33 - Relapse\n00:26:34 - Working day without Psychosis\n00:30:30 - AI Psychosis Detector\n00:32:02 - Triggers\n00:37:11 - Real Questions\n00:39:02 - Advice\n00:44:43 - Closing Thoughts\n00:45:35 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Recovering from AI Psychosis | TheStandup", "47c77f3b-aecc-4b7f-9876-f238d3d84358", "cVUVfn8OF5k", 2753, false, "https://www.youtube.com/watch?v=cVUVfn8OF5k", 17, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052400_Recovering from AI Psychosis | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-05-24 13:00:26Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "Full episode\nYouTube: https://youtu.be/EnbqwpkmoCM\nSpotify: https://open.spotify.com/episode/0BnVK6eJDJA115Q2dDh0i9\n\n\nssh terminal.shop\n Yes, seriously, this is my company, and we selected and found some of the world’s best coffee. US only (for now (the world is hard when you don't do crappy influencer coffee))\n\nThe crew dives into “AI psychosis,” coding with GPT vs Claude, doom scrolling tech Twitter, meme culture, burnout, obsession, and what happens when developers start letting AI run wild. Equal parts hilarious, insightful, and slightly concerning.\n\nChapters\n00:00:00 - Intro\n00:02:05 - The Timeline\n00:03:22 - Terminal Coffee\n00:03:56 - The Timeline Continued\n00:06:22 - OpenAI vs Anthropic\n00:11:35 - The Psychosis\n00:19:34 - The Signs\n00:22:58 - Detox\n00:25:33 - Relapse\n00:26:34 - Working day without Psychosis\n00:30:30 - AI Psychosis Detector\n00:32:02 - Triggers\n00:37:11 - Real Questions\n00:39:02 - Advice\n00:44:43 - Closing Thoughts\n00:45:35 - Outro\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer. \n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\nKinesis Advantage 360: https://bit.ly/Prime-Kinesis", "Recovering from AI Psychosis | TheStandup", "cVUVfn8OF5k", 2753, false, "https://www.youtube.com/watch?v=cVUVfn8OF5k", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052400_Recovering from AI Psychosis | TheStandup.mp4", false, 37, ~U[2026-05-24 13:00:26Z]] 07:49:23.101 [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" = ?) [37] 07:49:23.103 [debug] QUERY OK source="media_items" db=1.9ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-22 13:00:17Z], 37] 07:49:23.104 [debug] QUERY OK source="media_items" db=0.8ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\n## Sources\n\n- https://github.blog/security/investigating-unauthorized-access-to-githubs-internal-repositories/\n- https://techcrunch.com/2026/05/20/github-says-hackers-stole-data-from-thousands-of-internal-repositories/\n\n## Topics Covered\n\n- The latest in a series of Github Hacks\n- Security in the Age of Vibe-coding\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh [terminal.shop](http://terminal.shop/)\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Github’s Wildest Hack Yet", "18808ce6-97b3-44de-a5cb-6b7f72adb1ac", "9tcLy9TnPDU", 643, false, "https://www.youtube.com/watch?v=9tcLy9TnPDU", 18, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052200_Github’s Wildest Hack Yet.mp4", false, false, false, 37, [], 98, ~U[2026-05-22 13:00:17Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "PlanetScale is the fastest and most reliable way to run Postgres and MySQL in the cloud. Combined with sharding, branching, and Query Insights, you'll spend less time fighting your database and more time shipping. Try it at https://trm.sh/planetscale\n\n## Sources\n\n- https://github.blog/security/investigating-unauthorized-access-to-githubs-internal-repositories/\n- https://techcrunch.com/2026/05/20/github-says-hackers-stole-data-from-thousands-of-internal-repositories/\n\n## Topics Covered\n\n- The latest in a series of Github Hacks\n- Security in the Age of Vibe-coding\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh [terminal.shop](http://terminal.shop/)\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Github’s Wildest Hack Yet", "9tcLy9TnPDU", 643, false, "https://www.youtube.com/watch?v=9tcLy9TnPDU", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052200_Github’s Wildest Hack Yet.mp4", false, 37, ~U[2026-05-22 13:00:17Z]] 07:49:23.105 [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" = ?) [37] 07:49:23.107 [debug] QUERY OK source="media_items" db=1.9ms 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-05-20 13:00:28Z], 37] 07:49:23.108 [debug] QUERY OK source="media_items" db=0.7ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/ctatedev/status/2055434061322039377\n- https://github.com/vercel-labs/zero\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Why Did They Build This?", "13f2b9ed-09d3-44fd-a7bd-ab24e73d306e", "RnxTTF8x-24", 834, false, "https://www.youtube.com/watch?v=RnxTTF8x-24", 19, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052000_Why Did They Build This?.mp4", false, false, false, 37, [], 98, ~U[2026-05-20 13:00:28Z], ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], "Blacksmith is the fastest way to run your Github Actions. 2x faster job runs, 4x faster on caches, and 40x faster on Docker builds, slashing costs by up to 75%. Already trusted by over 3500 companies, including Ashby, Veed, Clerk, Supabase, and Mintlify → https://trm.sh/blacksmith\n\nSources:\n\n- https://x.com/ctatedev/status/2055434061322039377\n- https://github.com/vercel-labs/zero\n\nhttps://twitch.tv/ThePrimeagen - I Stream on Twitch\n\nhttps://twitter.com/terminaldotshop - Want to order coffee over SSH?\nssh terminal.shop\n\nBecome Backend Dev: https://boot.dev/prime\n(plus i make courses for them)\n\nThis is also the best way to support me is to support yourself becoming a better backend engineer.\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "Why Did They Build This?", "RnxTTF8x-24", 834, false, "https://www.youtube.com/watch?v=RnxTTF8x-24", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e052000_Why Did They Build This?.mp4", false, 37, ~U[2026-05-20 13:00:28Z]] 07:49:23.108 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z], 37] 07:49:23.110 [debug] QUERY OK source="media_items" db=2.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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [37] 07:49:23.126 [debug] QUERY OK source="media_items" db=2.3ms 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")))) [37] 07:49:23.127 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [37] 07:49:23.128 [debug] QUERY OK source="tasks" db=0.2ms idle=3.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419870, 37, ~U[2026-06-29 12:49:23Z], ~U[2026-06-29 12:49:23Z]] 07:49:23.128 [info] {"args":{"id":37},"id":419777,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":55537775,"event":"job:stop","queue_time":393302,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 07:49:23.376 [info] {"source":"oban","duration":7908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:53.385 [info] {"source":"oban","duration":7632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:00.078 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:50:23.394 [info] {"source":"oban","duration":8168,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:53.403 [info] {"source":"oban","duration":8002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:00.079 [info] {"source":"oban","duration":142,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:51:23.408 [info] {"source":"oban","duration":4950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:53.418 [info] {"source":"oban","duration":7907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:00.080 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:52:23.425 [info] {"source":"oban","duration":5740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:53.431 [info] {"source":"oban","duration":5539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:00.081 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:53:23.438 [info] {"source":"oban","duration":6110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:41.063 [info] {"args":{"id":51},"id":419856,"meta":{},"system_time":1782737621063323025,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:53:41.064 [debug] QUERY OK source="sources" db=0.5ms idle=1906.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:53:41.064 [debug] QUERY OK source="settings" db=0.6ms idle=1907.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:53:41.065 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1010.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:53:41.066 [debug] QUERY OK source="settings" db=0.6ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:53:41.066 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 07:53:41.245 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 07:53:41.246 [debug] QUERY OK source="media_items" db=0.4ms idle=182.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 07:53:41.247 [debug] QUERY OK source="media_items" db=0.4ms idle=182.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")))) [51] 07:53:41.248 [debug] QUERY OK source="tasks" db=0.1ms idle=181.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419871, 51, ~U[2026-06-29 12:53:41Z], ~U[2026-06-29 12:53:41Z]] 07:53:41.248 [info] {"args":{"id":51},"id":419856,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":185032,"event":"job:stop","queue_time":756120,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:53:53.447 [info] {"source":"oban","duration":7937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:53:58.089 [info] {"args":{"id":43},"id":419780,"meta":{},"system_time":1782737638088931131,"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"]} 07:53:58.089 [debug] QUERY OK source="sources" db=0.6ms idle=932.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:53:58.090 [debug] QUERY OK source="settings" db=0.1ms idle=932.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:53:58.093 [debug] QUERY OK source="media_items" db=3.3ms idle=933.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")))) [43] 07:53:58.093 [debug] QUERY OK source="media_items" db=0.2ms idle=10.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [43] 07:53:58.094 [debug] QUERY OK source="media_profiles" db=0.0ms idle=5.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] 07:53:58.094 [debug] QUERY OK source="settings" db=0.0ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:53:58.094 [debug] QUERY OK source="settings" db=0.0ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:53:58.098 [debug] QUERY OK source="media_items" db=2.2ms 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 [43] 07:53:58.099 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 07:53:58.099 [debug] Current batch of media processed. Will check again in 1000ms 07:53:58.099 [debug] QUERY OK source="settings" db=0.0ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:53:58.099 [debug] QUERY OK source="settings" db=0.0ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:53:58.099 [debug] QUERY OK source="settings" db=0.0ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:53:58.099 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UC5UAwBUum7CPN5buc-_N1Fw --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/85/5e/855e02bc21bdfc7a28577bf281d5568b4c925739511e8e61061b16db8bd21b1a.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/1b/f1/1bf16d7f3431bb94e653de2dd9b344173862b6f98c76a01a48ac8cce3a3c105b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:53:59.100 [debug] Current batch of media processed. Will check again in 1000ms 07:54:00.083 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:54:00.101 [debug] Current batch of media processed. Will check again in 1000ms 07:54:01.102 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps\n00:00 Intro\n00:05 Valve removes 4k60 mention from the Steam machine page\n02:31 Some cool GNOME apps released and updated\n06:26 KDE whiteboard & new email Client\n08:39 New DirtyClone vulnerability\n\n\nLinks:\nValve removes 4k60 mention from the Steam machine page\nhttps://www.gamingonlinux.com/2026/06/valve-quietly-tweaked-the-steam-machine-details-removing-4k-gaming-at-60-fps/\n\nSome cool GNOME apps released and updated\nhttps://thisweek.gnome.org/posts/2026/06/twig-255/\n\nKDE whiteboard & new email Client\nhttps://linuxiac.com/meet-drawy-kde-infinite-whiteboard-app-for-linux/\nhttps://melia.buxjr.com/\n\nNew DirtyClone vulnerability\nhttps://linuxiac.com/linux-gets-dirty-again-dirtyclone-kernel-flaw-can-lead-to-local-root-access/", "duration" => 604, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability.NA", "id" => "MZq55vL2aGw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MZq55vL2aGw", "playlist_index" => 1, "timestamp" => 1782720190, "title" => "Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability", "upload_date" => "20260629"} 07:54:01.103 [debug] QUERY OK source="sources" db=0.2ms idle=1945.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:01.103 [debug] QUERY OK source="sources" db=0.1ms idle=1946.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:01.107 [debug] QUERY OK source="media_items" db=3.4ms idle=1020.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-29 08:03:10Z], 43] 07:54:01.108 [debug] QUERY OK source="media_items" db=1.0ms idle=1020.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps\n00:00 Intro\n00:05 Valve removes 4k60 mention from the Steam machine page\n02:31 Some cool GNOME apps released and updated\n06:26 KDE whiteboard & new email Client\n08:39 New DirtyClone vulnerability\n\n\nLinks:\nValve removes 4k60 mention from the Steam machine page\nhttps://www.gamingonlinux.com/2026/06/valve-quietly-tweaked-the-steam-machine-details-removing-4k-gaming-at-60-fps/\n\nSome cool GNOME apps released and updated\nhttps://thisweek.gnome.org/posts/2026/06/twig-255/\n\nKDE whiteboard & new email Client\nhttps://linuxiac.com/meet-drawy-kde-infinite-whiteboard-app-for-linux/\nhttps://melia.buxjr.com/\n\nNew DirtyClone vulnerability\nhttps://linuxiac.com/linux-gets-dirty-again-dirtyclone-kernel-flaw-can-lead-to-local-root-access/", "Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability", "526cd0d1-7047-442a-abaf-4ce7bc75aa5c", "MZq55vL2aGw", 604, false, "https://www.youtube.com/watch?v=MZq55vL2aGw", 1, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability.NA", false, false, false, 43, [], 97, ~U[2026-06-29 08:03:10Z], ~U[2026-06-29 12:54:01Z], ~U[2026-06-29 12:54:01Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps\n00:00 Intro\n00:05 Valve removes 4k60 mention from the Steam machine page\n02:31 Some cool GNOME apps released and updated\n06:26 KDE whiteboard & new email Client\n08:39 New DirtyClone vulnerability\n\n\nLinks:\nValve removes 4k60 mention from the Steam machine page\nhttps://www.gamingonlinux.com/2026/06/valve-quietly-tweaked-the-steam-machine-details-removing-4k-gaming-at-60-fps/\n\nSome cool GNOME apps released and updated\nhttps://thisweek.gnome.org/posts/2026/06/twig-255/\n\nKDE whiteboard & new email Client\nhttps://linuxiac.com/meet-drawy-kde-infinite-whiteboard-app-for-linux/\nhttps://melia.buxjr.com/\n\nNew DirtyClone vulnerability\nhttps://linuxiac.com/linux-gets-dirty-again-dirtyclone-kernel-flaw-can-lead-to-local-root-access/", "Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability", "MZq55vL2aGw", 604, false, "https://www.youtube.com/watch?v=MZq55vL2aGw", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability.NA", false, 43, ~U[2026-06-29 08:03:10Z]] 07:54:01.109 [debug] QUERY OK source="sources" db=0.2ms idle=20.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:01.109 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 07:54:01.109 [debug] QUERY OK source="media_items" db=0.2ms idle=5.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 [3310881] 07:54:01.109 [info] Kicking off download for media item #3310881 (MZq55vL2aGw) 07:54:01.110 [debug] Current batch of media processed. Will check again in 1000ms 07:54:02.112 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n08:51 Steam machine", "duration" => 1565, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts.NA", "id" => "DYW5_dKatQU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DYW5_dKatQU", "playlist_index" => 2, "timestamp" => 1782716018, "title" => "Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts", "upload_date" => "20260629"} 07:54:02.112 [debug] QUERY OK source="sources" db=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:02.112 [debug] QUERY OK source="sources" db=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:02.116 [debug] QUERY OK source="media_items" db=3.5ms idle=1002.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-29 06:53:38Z], 43] 07:54:02.117 [debug] QUERY OK source="media_items" db=0.6ms idle=1005.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n08:51 Steam machine", "Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts", "66021d03-1c16-4886-9966-851ac793545b", "DYW5_dKatQU", 1565, false, "https://www.youtube.com/watch?v=DYW5_dKatQU", 2, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts.NA", false, false, false, 43, [], 97, ~U[2026-06-29 06:53:38Z], ~U[2026-06-29 12:54:02Z], ~U[2026-06-29 12:54:02Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n08:51 Steam machine", "Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts", "DYW5_dKatQU", 1565, false, "https://www.youtube.com/watch?v=DYW5_dKatQU", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts.NA", false, 43, ~U[2026-06-29 06:53:38Z]] 07:54:02.117 [debug] QUERY OK source="sources" db=0.5ms idle=27.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:02.118 [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] 07:54:02.118 [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 [3310636] 07:54:02.118 [info] Kicking off download for media item #3310636 (DYW5_dKatQU) 07:54:02.119 [debug] Current batch of media processed. Will check again in 1000ms 07:54:03.120 [debug] Current batch of media processed. Will check again in 1000ms 07:54:04.121 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Check out TuxCare's Endless Lifecycle Support for MinIO (and other distros and open source projects): https://tuxcare.com/endless-lifecycle-support/minio-eol-support/?utm_source=youtube&utm_medium=social&utm_campaign=ELS%20for%20MinIO&utm_term=The%20linux%20experiment\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\n#technews #linuxnews #linuxdesktop #linux\n\nTimestamps:\n00:00 Intro\n00:26 Sponsor: TuxCare\n01:33 Steam machine looks like a disappointment \n06:52 SteamOS 3.8 image supports all AMD PCs\n08:23 Epic Games open sources new version control system\n10:00 BcacheFS now no longer experimental\n11:26 XFCE has its first Wayland compositor\n12:37 Cosmic moves to version 1.1\n13:59 Wikipedia claps back against AI\n15:25 Wikipedia cofounder banned for canvassing\n18:55 Solution proposed to end all captchas\n21:11 New initiative for improve graphics end 3D software on Wayland\n23:16 GE Proton fixes all media related issues in games\n25:40 DXVK 3.0 gives big performance improvements\n28:05 Sponsor: Tuxedo Computers\n\n\nLinks\nSteam machine looks like a disappointment\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0\n\n#technews #linuxnews #linuxdesktop #linux", "duration" => 1797, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062700_Linux Weekly News - Epic Games made their own GIT.mp4", "id" => "p5aE1FpFmtY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=p5aE1FpFmtY", "playlist_index" => 3, "timestamp" => 1782552943, "title" => "Linux Weekly News - Epic Games made their own GIT", "upload_date" => "20260627"} 07:54:04.122 [debug] QUERY OK source="sources" db=0.2ms idle=964.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:04.122 [debug] QUERY OK source="sources" db=0.1ms idle=965.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:04.125 [debug] QUERY OK source="media_items" db=3.3ms idle=965.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 09:35:43Z], 43] 07:54:04.129 [debug] QUERY OK source="media_items" db=2.9ms idle=968.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Check out TuxCare's Endless Lifecycle Support for MinIO (and other distros and open source projects): https://tuxcare.com/endless-lifecycle-support/minio-eol-support/?utm_source=youtube&utm_medium=social&utm_campaign=ELS%20for%20MinIO&utm_term=The%20linux%20experiment\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\n#technews #linuxnews #linuxdesktop #linux\n\nTimestamps:\n00:00 Intro\n00:26 Sponsor: TuxCare\n01:33 Steam machine looks like a disappointment \n06:52 SteamOS 3.8 image supports all AMD PCs\n08:23 Epic Games open sources new version control system\n10:00 BcacheFS now no longer experimental\n11:26 XFCE has its first Wayland compositor\n12:37 Cosmic moves to version 1.1\n13:59 Wikipedia claps back against AI\n15:25 Wikipedia cofounder banned for canvassing\n18:55 Solution proposed to end all captchas\n21:11 New initiative for improve graphics end 3D software on Wayland\n23:16 GE Proton fixes all media related issues in games\n25:40 DXVK 3.0 gives big performance improvements\n28:05 Sponsor: Tuxedo Computers\n\n\nLinks\nSteam machine looks like a disappointment\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0\n\n#technews #linuxnews #linuxdesktop #linux", "Linux Weekly News - Epic Games made their own GIT", "f1cbed36-277c-4c8e-9aa8-edca4e04ad09", "p5aE1FpFmtY", 1797, false, "https://www.youtube.com/watch?v=p5aE1FpFmtY", 3, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062700_Linux Weekly News - Epic Games made their own GIT.mp4", false, false, false, 43, [], 98, ~U[2026-06-27 09:35:43Z], ~U[2026-06-29 12:54:04Z], ~U[2026-06-29 12:54:04Z], "Check out TuxCare's Endless Lifecycle Support for MinIO (and other distros and open source projects): https://tuxcare.com/endless-lifecycle-support/minio-eol-support/?utm_source=youtube&utm_medium=social&utm_campaign=ELS%20for%20MinIO&utm_term=The%20linux%20experiment\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\n#technews #linuxnews #linuxdesktop #linux\n\nTimestamps:\n00:00 Intro\n00:26 Sponsor: TuxCare\n01:33 Steam machine looks like a disappointment \n06:52 SteamOS 3.8 image supports all AMD PCs\n08:23 Epic Games open sources new version control system\n10:00 BcacheFS now no longer experimental\n11:26 XFCE has its first Wayland compositor\n12:37 Cosmic moves to version 1.1\n13:59 Wikipedia claps back against AI\n15:25 Wikipedia cofounder banned for canvassing\n18:55 Solution proposed to end all captchas\n21:11 New initiative for improve graphics end 3D software on Wayland\n23:16 GE Proton fixes all media related issues in games\n25:40 DXVK 3.0 gives big performance improvements\n28:05 Sponsor: Tuxedo Computers\n\n\nLinks\nSteam machine looks like a disappointment\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0\n\n#technews #linuxnews #linuxdesktop #linux", "Linux Weekly News - Epic Games made their own GIT", "p5aE1FpFmtY", 1797, false, "https://www.youtube.com/watch?v=p5aE1FpFmtY", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2 (truncated) 07:54:04.129 [debug] QUERY OK source="sources" db=0.2ms idle=36.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:04.130 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:54:04.130 [debug] QUERY OK source="media_items" db=0.1ms 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 [3295586] 07:54:04.130 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 New initiative for improve graphics end 3D software on Wayland\n04:15 Purism releases Librem 16 laptop\n06:45 DXVK 3.0 gives big performance improvements\n\nLinks:\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nPurism releases Librem 16 laptop\nhttps://linuxiac.com/purisms-librem-16-brings-linux-privacy-hardware-at-a-premium-price/\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0", "duration" => 601, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062600_Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update.NA", "id" => "2irCIuypCN8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2irCIuypCN8", "playlist_index" => 4, "timestamp" => 1782461307, "title" => "Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update", "upload_date" => "20260626"} 07:54:04.131 [debug] QUERY OK source="sources" db=0.4ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:04.131 [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" = ?) [43] 07:54:04.134 [debug] QUERY OK source="media_items" db=2.8ms 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-06-26 08:08:27Z], 43] 07:54:04.135 [debug] QUERY OK source="media_items" db=0.6ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 New initiative for improve graphics end 3D software on Wayland\n04:15 Purism releases Librem 16 laptop\n06:45 DXVK 3.0 gives big performance improvements\n\nLinks:\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nPurism releases Librem 16 laptop\nhttps://linuxiac.com/purisms-librem-16-brings-linux-privacy-hardware-at-a-premium-price/\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0", "Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update", "b0ed6aed-157f-4c67-8491-511cf46ffe1c", "2irCIuypCN8", 601, false, "https://www.youtube.com/watch?v=2irCIuypCN8", 4, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062600_Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update.NA", false, false, false, 43, [], 98, ~U[2026-06-26 08:08:27Z], ~U[2026-06-29 12:54:04Z], ~U[2026-06-29 12:54:04Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 New initiative for improve graphics end 3D software on Wayland\n04:15 Purism releases Librem 16 laptop\n06:45 DXVK 3.0 gives big performance improvements\n\nLinks:\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nPurism releases Librem 16 laptop\nhttps://linuxiac.com/purisms-librem-16-brings-linux-privacy-hardware-at-a-premium-price/\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0", "Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update", "2irCIuypCN8", 601, false, "https://www.youtube.com/watch?v=2irCIuypCN8", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062600_Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update.NA", false, 43, ~U[2026-06-26 08:08:27Z]] 07:54:04.135 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:04.135 [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] 07:54:04.136 [debug] QUERY OK source="media_items" db=0.1ms 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 [3287051] 07:54:04.136 [info] Kicking off download for media item #3287051 (2irCIuypCN8) 07:54:04.136 [debug] Current batch of media processed. Will check again in 1000ms 07:54:05.137 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS 3.8 image supports all AMD PCs\n02:04 GE Proton fixes all media related issues in games\n06:44 Pine64 launches smart speaker for home assistant\n\n\n\nLinks\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nPine64 launches smart speaker for home assistant\nhttps://itsfoss.com/news/pinevoice-smart-speaker/", "duration" => 541, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062500_Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game.NA", "id" => "I_oGMKxAQxM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=I_oGMKxAQxM", "playlist_index" => 5, "timestamp" => 1782379401, "title" => "Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game", "upload_date" => "20260625"} 07:54:05.138 [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 (?)) [43] 07:54:05.138 [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" = ?) [43] 07:54:05.141 [debug] QUERY OK source="media_items" db=3.5ms idle=1002.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-25 09:23:21Z], 43] 07:54:05.143 [debug] QUERY OK source="media_items" db=0.7ms idle=1005.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS 3.8 image supports all AMD PCs\n02:04 GE Proton fixes all media related issues in games\n06:44 Pine64 launches smart speaker for home assistant\n\n\n\nLinks\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nPine64 launches smart speaker for home assistant\nhttps://itsfoss.com/news/pinevoice-smart-speaker/", "Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game", "a2220640-af5c-4bae-a423-962ea5810d76", "I_oGMKxAQxM", 541, false, "https://www.youtube.com/watch?v=I_oGMKxAQxM", 5, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062500_Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game.NA", false, false, false, 43, [], 98, ~U[2026-06-25 09:23:21Z], ~U[2026-06-29 12:54:05Z], ~U[2026-06-29 12:54:05Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS 3.8 image supports all AMD PCs\n02:04 GE Proton fixes all media related issues in games\n06:44 Pine64 launches smart speaker for home assistant\n\n\n\nLinks\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nPine64 launches smart speaker for home assistant\nhttps://itsfoss.com/news/pinevoice-smart-speaker/", "Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game", "I_oGMKxAQxM", 541, false, "https://www.youtube.com/watch?v=I_oGMKxAQxM", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062500_Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game.NA", false, 43, ~U[2026-06-25 09:23:21Z]] 07:54:05.143 [debug] QUERY OK source="sources" db=0.1ms idle=49.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:05.143 [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] 07:54:05.144 [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 [3279630] 07:54:05.144 [info] Kicking off download for media item #3279630 (I_oGMKxAQxM) 07:54:05.145 [debug] Current batch of media processed. Will check again in 1000ms 07:54:06.146 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine seems disappointing for the price\n04:39 Cosmic moves to version 1.1\n06:02 Wikipedia cofounder banned for canvassing\n10:27 Solution proposed to end all captchas\n\nLinks:\n\nSteam machine seems disappointing for the price\nhttps://www.pcgamer.com/hardware/gaming-pcs/the-steam-machine-is-the-biggest-victim-of-the-rampocalypse-to-date-and-thats-made-me-unreasonably-annoyed/\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/", "duration" => 801, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062400_Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned.NA", "id" => "Z0vbXozyZ6Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Z0vbXozyZ6Q", "playlist_index" => 6, "timestamp" => 1782289628, "title" => "Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned", "upload_date" => "20260624"} 07:54:06.147 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:06.148 [debug] QUERY OK source="sources" db=0.1ms idle=1004.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:06.151 [debug] QUERY OK source="media_items" db=3.3ms idle=1004.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-24 08:27:08Z], 43] 07:54:06.153 [debug] QUERY OK source="media_items" db=0.9ms idle=1006.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine seems disappointing for the price\n04:39 Cosmic moves to version 1.1\n06:02 Wikipedia cofounder banned for canvassing\n10:27 Solution proposed to end all captchas\n\nLinks:\n\nSteam machine seems disappointing for the price\nhttps://www.pcgamer.com/hardware/gaming-pcs/the-steam-machine-is-the-biggest-victim-of-the-rampocalypse-to-date-and-thats-made-me-unreasonably-annoyed/\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/", "Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned", "dd1da7a4-dfb2-4115-b765-53065ea76b3e", "Z0vbXozyZ6Q", 801, false, "https://www.youtube.com/watch?v=Z0vbXozyZ6Q", 6, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062400_Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned.NA", false, false, false, 43, [], 98, ~U[2026-06-24 08:27:08Z], ~U[2026-06-29 12:54:06Z], ~U[2026-06-29 12:54:06Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine seems disappointing for the price\n04:39 Cosmic moves to version 1.1\n06:02 Wikipedia cofounder banned for canvassing\n10:27 Solution proposed to end all captchas\n\nLinks:\n\nSteam machine seems disappointing for the price\nhttps://www.pcgamer.com/hardware/gaming-pcs/the-steam-machine-is-the-biggest-victim-of-the-rampocalypse-to-date-and-thats-made-me-unreasonably-annoyed/\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/", "Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned", "Z0vbXozyZ6Q", 801, false, "https://www.youtube.com/watch?v=Z0vbXozyZ6Q", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062400_Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned.NA", false, 43, ~U[2026-06-24 08:27:08Z]] 07:54:06.153 [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" = ?) [43] 07:54:06.153 [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] 07:54:06.154 [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 [3271507] 07:54:06.154 [info] Kicking off download for media item #3271507 (Z0vbXozyZ6Q) 07:54:06.155 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine launches for more than a 1000 bucks\n03:33 SteamOS ISO coming, but no date still\n05:57 XFCE has its first Wayland compositor\n07:37 NVK gets DLSS support\n08:37 Wikipedia claps back against AI\n\nLinks\nSteam machine launches for more than a 1000 bucks\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\n\nSteamOS ISO coming, but no date still\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nNVK gets DLSS support\nhttps://www.gamingonlinux.com/2026/06/the-open-source-nvidia-vulkan-driver-nvk-now-has-experimental-dlss-support/\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says", "duration" => 631, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062300_Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland.NA", "id" => "Rf5xQTtGy-A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Rf5xQTtGy-A", "playlist_index" => 7, "timestamp" => 1782201641, "title" => "Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland", "upload_date" => "20260623"} 07:54:06.155 [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" IN (?)) [43] 07:54:06.155 [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" = ?) [43] 07:54:06.159 [debug] QUERY OK source="media_items" db=2.9ms 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-23 08:00:41Z], 43] 07:54:06.160 [debug] QUERY OK source="media_items" db=0.7ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine launches for more than a 1000 bucks\n03:33 SteamOS ISO coming, but no date still\n05:57 XFCE has its first Wayland compositor\n07:37 NVK gets DLSS support\n08:37 Wikipedia claps back against AI\n\nLinks\nSteam machine launches for more than a 1000 bucks\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\n\nSteamOS ISO coming, but no date still\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nNVK gets DLSS support\nhttps://www.gamingonlinux.com/2026/06/the-open-source-nvidia-vulkan-driver-nvk-now-has-experimental-dlss-support/\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says", "Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland", "b39ce1d7-0162-4dd2-9ab7-43adf4bf129c", "Rf5xQTtGy-A", 631, false, "https://www.youtube.com/watch?v=Rf5xQTtGy-A", 7, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062300_Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland.NA", false, false, false, 43, [], 98, ~U[2026-06-23 08:00:41Z], ~U[2026-06-29 12:54:06Z], ~U[2026-06-29 12:54:06Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine launches for more than a 1000 bucks\n03:33 SteamOS ISO coming, but no date still\n05:57 XFCE has its first Wayland compositor\n07:37 NVK gets DLSS support\n08:37 Wikipedia claps back against AI\n\nLinks\nSteam machine launches for more than a 1000 bucks\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\n\nSteamOS ISO coming, but no date still\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nNVK gets DLSS support\nhttps://www.gamingonlinux.com/2026/06/the-open-source-nvidia-vulkan-driver-nvk-now-has-experimental-dlss-support/\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says", "Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland", "Rf5xQTtGy-A", 631, false, "https://www.youtube.com/watch?v=Rf5xQTtGy-A", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062300_Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland.NA", false, 43, ~U[2026-06-23 08:00:41Z]] 07:54:06.160 [debug] QUERY OK source="sources" db=0.1ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:06.160 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:54:06.161 [debug] QUERY OK source="media_items" db=0.1ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3263547] 07:54:06.161 [info] Kicking off download for media item #3263547 (Rf5xQTtGy-A) 07:54:06.162 [debug] Current batch of media processed. Will check again in 1000ms 07:54:07.163 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:34 Postmarket OS updates Linux Phones\n03:03 KDE Goals is open for submissions\n05:15 BcacheFS now no longer experimental\n06:59 Epic Games open sources new version control system\n09:41 Mesa 26.2 improves frame pacing and stutters in game\n\nLinks\n\nPostmarket OS updates Linux Phones\nhttps://linuxiac.com/postmarketos-26-06-brings-fresh-linux-phone-updates/\n\nKDE Goals is open for submissions\nhttps://blogs.kde.org/2026/06/20/kde-goals-call-for-submissions/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nMesa 26.2 improves frame pacing and stutters in game\nhttps://www.phoronix.com/news/Mesa-26.2-X11-Present-Timing", "duration" => 678, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git.NA", "id" => "tXxYvOPlH1M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tXxYvOPlH1M", "playlist_index" => 8, "timestamp" => 1782116265, "title" => "Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git", "upload_date" => "20260622"} 07:54:07.163 [debug] QUERY OK source="sources" db=0.1ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:07.163 [debug] QUERY OK source="sources" db=0.1ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:07.167 [debug] QUERY OK source="media_items" db=3.5ms idle=1002.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-22 08:17:45Z], 43] 07:54:07.168 [debug] QUERY OK source="media_items" db=0.8ms idle=1005.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:34 Postmarket OS updates Linux Phones\n03:03 KDE Goals is open for submissions\n05:15 BcacheFS now no longer experimental\n06:59 Epic Games open sources new version control system\n09:41 Mesa 26.2 improves frame pacing and stutters in game\n\nLinks\n\nPostmarket OS updates Linux Phones\nhttps://linuxiac.com/postmarketos-26-06-brings-fresh-linux-phone-updates/\n\nKDE Goals is open for submissions\nhttps://blogs.kde.org/2026/06/20/kde-goals-call-for-submissions/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nMesa 26.2 improves frame pacing and stutters in game\nhttps://www.phoronix.com/news/Mesa-26.2-X11-Present-Timing", "Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git", "847249d3-00e4-4929-a840-e1357a120446", "tXxYvOPlH1M", 678, false, "https://www.youtube.com/watch?v=tXxYvOPlH1M", 8, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git.NA", false, false, false, 43, [], 97, ~U[2026-06-22 08:17:45Z], ~U[2026-06-29 12:54:07Z], ~U[2026-06-29 12:54:07Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:34 Postmarket OS updates Linux Phones\n03:03 KDE Goals is open for submissions\n05:15 BcacheFS now no longer experimental\n06:59 Epic Games open sources new version control system\n09:41 Mesa 26.2 improves frame pacing and stutters in game\n\nLinks\n\nPostmarket OS updates Linux Phones\nhttps://linuxiac.com/postmarketos-26-06-brings-fresh-linux-phone-updates/\n\nKDE Goals is open for submissions\nhttps://blogs.kde.org/2026/06/20/kde-goals-call-for-submissions/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nMesa 26.2 improves frame pacing and stutters in game\nhttps://www.phoronix.com/news/Mesa-26.2-X11-Present-Timing", "Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git", "tXxYvOPlH1M", 678, false, "https://www.youtube.com/watch?v=tXxYvOPlH1M", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git.NA", false, 43, ~U[2026-06-22 08:17:45Z]] 07:54:07.169 [debug] QUERY OK source="sources" db=0.1ms idle=72.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:07.169 [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] 07:54:07.169 [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 [3255584] 07:54:07.169 [info] Kicking off download for media item #3255584 (tXxYvOPlH1M) 07:54:07.171 [debug] Current batch of media processed. Will check again in 1000ms 07:54:08.172 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:50 Ubuntu Touch improvements\n10:13 GNOME Foundation issues", "duration" => 1377, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues.NA", "id" => "aXHR7jvC000", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aXHR7jvC000", "playlist_index" => 9, "timestamp" => 1782109590, "title" => "Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues", "upload_date" => "20260622"} 07:54:08.172 [debug] QUERY OK source="sources" db=0.2ms 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 (?)) [43] 07:54:08.173 [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" = ?) [43] 07:54:08.176 [debug] QUERY OK source="media_items" db=3.3ms idle=1003.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-22 06:26:30Z], 43] 07:54:08.177 [debug] QUERY OK source="media_items" db=0.7ms idle=1005.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:50 Ubuntu Touch improvements\n10:13 GNOME Foundation issues", "Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues", "23053447-57e0-456a-a036-551a6dfd3b54", "aXHR7jvC000", 1377, false, "https://www.youtube.com/watch?v=aXHR7jvC000", 9, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues.NA", false, false, false, 43, [], 97, ~U[2026-06-22 06:26:30Z], ~U[2026-06-29 12:54:08Z], ~U[2026-06-29 12:54:08Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:50 Ubuntu Touch improvements\n10:13 GNOME Foundation issues", "Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues", "aXHR7jvC000", 1377, false, "https://www.youtube.com/watch?v=aXHR7jvC000", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues.NA", false, 43, ~U[2026-06-22 06:26:30Z]] 07:54:08.177 [debug] QUERY OK source="sources" db=0.1ms idle=79.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:08.178 [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] 07:54:08.178 [debug] QUERY OK source="media_items" db=0.2ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3255292] 07:54:08.178 [info] Kicking off download for media item #3255292 (aXHR7jvC000) 07:54:08.180 [debug] Current batch of media processed. Will check again in 1000ms 07:54:09.181 [debug] Current batch of media processed. Will check again in 1000ms 07:54:10.183 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT \n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:42 Sponsor: SquareSpace\n02:01 GNOME Foundation issues and lack of transparency\n09:34 AUR compromised with malware and spam\n12:57 Mozilla shares big Firefox roadmap\n15:54 X11 server rewritten using Rust and AI\n17:33 Linux kernel 7.1 released\n19:03 Chrome removes manifest v2 support entirely\n20:39 Firefox for Android will rely on Google Play integrity API\n22:29 Plasma 6.7 released\n24:27 SonicDE forks KDE into an X11 desktop\n26:24 More details on Ubuntu's AI features\n28:21 The EU won't stop killing videogames\n31:06 Sponsor: Tuxedo oOmputers\n\n\nLinks:\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31\n\nAUR compromised with malware and spam\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "duration" => 1979, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062000_Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles.mp4", "id" => "gxzle1WPTos", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gxzle1WPTos", "playlist_index" => 10, "timestamp" => 1781944568, "title" => "Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles", "upload_date" => "20260620"} 07:54:10.183 [debug] QUERY OK source="sources" db=0.2ms idle=82.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:10.184 [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" = ?) [43] 07:54:10.187 [debug] QUERY OK source="media_items" db=3.3ms idle=27.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-20 08:36:08Z], 43] 07:54:10.189 [debug] QUERY OK source="media_items" db=1.2ms idle=30.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT \n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:42 Sponsor: SquareSpace\n02:01 GNOME Foundation issues and lack of transparency\n09:34 AUR compromised with malware and spam\n12:57 Mozilla shares big Firefox roadmap\n15:54 X11 server rewritten using Rust and AI\n17:33 Linux kernel 7.1 released\n19:03 Chrome removes manifest v2 support entirely\n20:39 Firefox for Android will rely on Google Play integrity API\n22:29 Plasma 6.7 released\n24:27 SonicDE forks KDE into an X11 desktop\n26:24 More details on Ubuntu's AI features\n28:21 The EU won't stop killing videogames\n31:06 Sponsor: Tuxedo oOmputers\n\n\nLinks:\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31\n\nAUR compromised with malware and spam\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles", "bc094178-628f-4b4d-9f9c-feb1307d00c0", "gxzle1WPTos", 1979, false, "https://www.youtube.com/watch?v=gxzle1WPTos", 10, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062000_Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles.mp4", false, false, false, 43, [], 98, ~U[2026-06-20 08:36:08Z], ~U[2026-06-29 12:54:10Z], ~U[2026-06-29 12:54:10Z], "Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT \n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:42 Sponsor: SquareSpace\n02:01 GNOME Foundation issues and lack of transparency\n09:34 AUR compromised with malware and spam\n12:57 Mozilla shares big Firefox roadmap\n15:54 X11 server rewritten using Rust and AI\n17:33 Linux kernel 7.1 released\n19:03 Chrome removes manifest v2 support entirely\n20:39 Firefox for Android will rely on Google Play integrity API\n22:29 Plasma 6.7 released\n24:27 SonicDE forks KDE into an X11 desktop\n26:24 More details on Ubuntu's AI features\n28:21 The EU won't stop killing videogames\n31:06 Sponsor: Tuxedo oOmputers\n\n\nLinks:\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31\n\nAUR compromised with malware and spam\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles", "gxzle1WPTos", 1979, false, "https://www.youtube.com/watch?v=gxzle1WPTos", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062000_Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles.mp4", false, 43, ~U[2026-06-20 08:36:08Z]] 07:54:10.189 [debug] QUERY OK source="sources" db=0.2ms idle=32.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:10.190 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:54:10.190 [debug] QUERY OK source="media_items" db=0.1ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3239878] 07:54:10.190 [debug] Current batch of media processed. Will check again in 1000ms 07:54:11.191 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS updates indicates Steam machine isn't far\n02:01 Mozilla shares big Firefox roadmap\n06:20 Ubuntu flavours now have to release betas\n\nLinks:\nSteamOS updates indicates Steam machine isn't far\nhttps://steamcommunity.com/games/1675200/announcements/detail/697641379212298073\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nUbuntu flavours now have to release betas\nhttps://lists.ubuntu.com/archives/ubuntu-release/2026-June/006814.html", "duration" => 561, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061900_Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap.NA", "id" => "WfFe2-Uy2Fo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WfFe2-Uy2Fo", "playlist_index" => 11, "timestamp" => 1781857449, "title" => "Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap", "upload_date" => "20260619"} 07:54:11.192 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms 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 (?)) [43] 07:54:11.192 [debug] QUERY OK source="sources" db=0.1ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:11.196 [debug] QUERY OK source="media_items" db=3.4ms idle=1002.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-19 08:24:09Z], 43] 07:54:11.197 [debug] QUERY OK source="media_items" db=0.7ms idle=1006.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS updates indicates Steam machine isn't far\n02:01 Mozilla shares big Firefox roadmap\n06:20 Ubuntu flavours now have to release betas\n\nLinks:\nSteamOS updates indicates Steam machine isn't far\nhttps://steamcommunity.com/games/1675200/announcements/detail/697641379212298073\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nUbuntu flavours now have to release betas\nhttps://lists.ubuntu.com/archives/ubuntu-release/2026-June/006814.html", "Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap", "fc174b56-fa7b-4602-a8af-a3c202e7e992", "WfFe2-Uy2Fo", 561, false, "https://www.youtube.com/watch?v=WfFe2-Uy2Fo", 11, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061900_Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap.NA", false, false, false, 43, [], 98, ~U[2026-06-19 08:24:09Z], ~U[2026-06-29 12:54:11Z], ~U[2026-06-29 12:54:11Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS updates indicates Steam machine isn't far\n02:01 Mozilla shares big Firefox roadmap\n06:20 Ubuntu flavours now have to release betas\n\nLinks:\nSteamOS updates indicates Steam machine isn't far\nhttps://steamcommunity.com/games/1675200/announcements/detail/697641379212298073\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nUbuntu flavours now have to release betas\nhttps://lists.ubuntu.com/archives/ubuntu-release/2026-June/006814.html", "Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap", "WfFe2-Uy2Fo", 561, false, "https://www.youtube.com/watch?v=WfFe2-Uy2Fo", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061900_Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap.NA", false, 43, ~U[2026-06-19 08:24:09Z]] 07:54:11.197 [debug] QUERY OK source="sources" db=0.1ms idle=94.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:11.198 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 07:54:11.198 [debug] QUERY OK source="media_items" db=0.1ms 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 [3231948] 07:54:11.198 [info] Kicking off download for media item #3231948 (WfFe2-Uy2Fo) 07:54:11.199 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Arch adds some security features to their AUR helper\n02:59 More details on Ubuntu's AI features\n05:17 Wine Wayland driver makes progress\n07:44 Audacity 4 beta released\n\nLinks:\nArch adds some security features to their AUR helper\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nWine Wayland driver makes progress\nhttps://www.phoronix.com/news/Wine-11.11-Released\nhttps://gitlab.winehq.org/wine/wine/-/merge_requests/11101\n\nAudacity 4 beta released\nhttps://www.omgubuntu.co.uk/2026/06/audacity-4-0-beta", "duration" => 650, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061800_Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4.NA", "id" => "10t33nUtCow", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=10t33nUtCow", "playlist_index" => 12, "timestamp" => 1781767689, "title" => "Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4", "upload_date" => "20260618"} 07:54:11.200 [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" IN (?)) [43] 07:54:11.200 [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" = ?) [43] 07:54:11.203 [debug] QUERY OK source="media_items" db=2.8ms 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-18 07:28:09Z], 43] 07:54:11.204 [debug] QUERY OK source="media_items" db=0.8ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Arch adds some security features to their AUR helper\n02:59 More details on Ubuntu's AI features\n05:17 Wine Wayland driver makes progress\n07:44 Audacity 4 beta released\n\nLinks:\nArch adds some security features to their AUR helper\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nWine Wayland driver makes progress\nhttps://www.phoronix.com/news/Wine-11.11-Released\nhttps://gitlab.winehq.org/wine/wine/-/merge_requests/11101\n\nAudacity 4 beta released\nhttps://www.omgubuntu.co.uk/2026/06/audacity-4-0-beta", "Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4", "0747b796-42c2-47aa-a654-6d672571b206", "10t33nUtCow", 650, false, "https://www.youtube.com/watch?v=10t33nUtCow", 12, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061800_Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4.NA", false, false, false, 43, [], 98, ~U[2026-06-18 07:28:09Z], ~U[2026-06-29 12:54:11Z], ~U[2026-06-29 12:54:11Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Arch adds some security features to their AUR helper\n02:59 More details on Ubuntu's AI features\n05:17 Wine Wayland driver makes progress\n07:44 Audacity 4 beta released\n\nLinks:\nArch adds some security features to their AUR helper\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nWine Wayland driver makes progress\nhttps://www.phoronix.com/news/Wine-11.11-Released\nhttps://gitlab.winehq.org/wine/wine/-/merge_requests/11101\n\nAudacity 4 beta released\nhttps://www.omgubuntu.co.uk/2026/06/audacity-4-0-beta", "Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4", "10t33nUtCow", 650, false, "https://www.youtube.com/watch?v=10t33nUtCow", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061800_Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4.NA", false, 43, ~U[2026-06-18 07:28:09Z]] 07:54:11.204 [debug] QUERY OK source="sources" db=0.1ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:11.205 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:54:11.205 [debug] QUERY OK source="media_items" db=0.1ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3223700] 07:54:11.205 [info] Kicking off download for media item #3223700 (10t33nUtCow) 07:54:11.206 [debug] Current batch of media processed. Will check again in 1000ms 07:54:12.207 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Plasma 6.7 released\n03:18 Big update on Oxygen and Air theme for KDE\n06:12 AUR infected by spam messages and insults\n08:09 The EU won't stop killing videogames\n\nLinks:\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nBig update on Oxygen and Air theme for KDE\nhttps://filipfila.wordpress.com/2026/06/16/oxygen-6-7-is-here-a-breath-of-fresh-air-for-kdes-classic-theme/\n\nAUR infected by spam messages and insults\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "duration" => 729, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061700_Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames.NA", "id" => "VgRZUNhID6w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VgRZUNhID6w", "playlist_index" => 13, "timestamp" => 1781692497, "title" => "Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames", "upload_date" => "20260617"} 07:54:12.207 [debug] QUERY OK source="sources" db=0.2ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:12.208 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:12.211 [debug] QUERY OK source="media_items" db=3.5ms idle=1003.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-17 10:34:57Z], 43] 07:54:12.213 [debug] QUERY OK source="media_items" db=0.8ms idle=1005.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Plasma 6.7 released\n03:18 Big update on Oxygen and Air theme for KDE\n06:12 AUR infected by spam messages and insults\n08:09 The EU won't stop killing videogames\n\nLinks:\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nBig update on Oxygen and Air theme for KDE\nhttps://filipfila.wordpress.com/2026/06/16/oxygen-6-7-is-here-a-breath-of-fresh-air-for-kdes-classic-theme/\n\nAUR infected by spam messages and insults\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames", "bacce3b9-d5dc-4ad1-bde3-32c3f19e1a29", "VgRZUNhID6w", 729, false, "https://www.youtube.com/watch?v=VgRZUNhID6w", 13, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061700_Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames.NA", false, false, false, 43, [], 98, ~U[2026-06-17 10:34:57Z], ~U[2026-06-29 12:54:12Z], ~U[2026-06-29 12:54:12Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Plasma 6.7 released\n03:18 Big update on Oxygen and Air theme for KDE\n06:12 AUR infected by spam messages and insults\n08:09 The EU won't stop killing videogames\n\nLinks:\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nBig update on Oxygen and Air theme for KDE\nhttps://filipfila.wordpress.com/2026/06/16/oxygen-6-7-is-here-a-breath-of-fresh-air-for-kdes-classic-theme/\n\nAUR infected by spam messages and insults\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames", "VgRZUNhID6w", 729, false, "https://www.youtube.com/watch?v=VgRZUNhID6w", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061700_Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames.NA", false, 43, ~U[2026-06-17 10:34:57Z]] 07:54:12.213 [debug] QUERY OK source="sources" db=0.2ms idle=108.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:12.213 [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] 07:54:12.214 [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 [3216892] 07:54:12.214 [info] Kicking off download for media item #3216892 (VgRZUNhID6w) 07:54:12.215 [debug] Current batch of media processed. Will check again in 1000ms 07:54:13.216 [debug] Current batch of media processed. Will check again in 1000ms 07:54:14.217 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Try out Joplin, one of the best Open Source Note taking apps: https://joplinapp.org/?source=TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:29 Sponsor: Joplin\n01:57 Per Monitor desktops\n03:16 Performance improvements\n04:18 Visual changes\n07:38 Better Keyboard input\n08:55 Plasma Widgets\n12:54 Global Push to Talk & other changes\n15:36 Kwin Changes & Wayland support\n19:12 Settings changes\n20:54 App Changes\n23:18 Conclusion\n24:45 Sponsor: Tuxedo Computers\n\n#linuxdesktop #kdeplasma #linuxdistro", "duration" => 1574, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_KDE Plasma 6.7 review: still the best Linux Desktop IMO.mp4", "id" => "5qJSapprdSQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5qJSapprdSQ", "playlist_index" => 14, "timestamp" => 1781608316, "title" => "KDE Plasma 6.7 review: still the best Linux Desktop IMO", "upload_date" => "20260616"} 07:54:14.217 [debug] QUERY OK source="sources" db=0.1ms idle=110.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:14.217 [debug] QUERY OK source="sources" db=0.1ms idle=60.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:14.221 [debug] QUERY OK source="media_items" db=3.4ms idle=60.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 11:11:56Z], 43] 07:54:14.238 [debug] QUERY OK source="media_items" db=16.7ms idle=64.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try out Joplin, one of the best Open Source Note taking apps: https://joplinapp.org/?source=TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:29 Sponsor: Joplin\n01:57 Per Monitor desktops\n03:16 Performance improvements\n04:18 Visual changes\n07:38 Better Keyboard input\n08:55 Plasma Widgets\n12:54 Global Push to Talk & other changes\n15:36 Kwin Changes & Wayland support\n19:12 Settings changes\n20:54 App Changes\n23:18 Conclusion\n24:45 Sponsor: Tuxedo Computers\n\n#linuxdesktop #kdeplasma #linuxdistro", "KDE Plasma 6.7 review: still the best Linux Desktop IMO", "6c655745-bead-48a4-bfe9-3411d29f4223", "5qJSapprdSQ", 1574, false, "https://www.youtube.com/watch?v=5qJSapprdSQ", 14, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_KDE Plasma 6.7 review: still the best Linux Desktop IMO.mp4", false, false, false, 43, [], 97, ~U[2026-06-16 11:11:56Z], ~U[2026-06-29 12:54:14Z], ~U[2026-06-29 12:54:14Z], "Try out Joplin, one of the best Open Source Note taking apps: https://joplinapp.org/?source=TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:29 Sponsor: Joplin\n01:57 Per Monitor desktops\n03:16 Performance improvements\n04:18 Visual changes\n07:38 Better Keyboard input\n08:55 Plasma Widgets\n12:54 Global Push to Talk & other changes\n15:36 Kwin Changes & Wayland support\n19:12 Settings changes\n20:54 App Changes\n23:18 Conclusion\n24:45 Sponsor: Tuxedo Computers\n\n#linuxdesktop #kdeplasma #linuxdistro", "KDE Plasma 6.7 review: still the best Linux Desktop IMO", "5qJSapprdSQ", 1574, false, "https://www.youtube.com/watch?v=5qJSapprdSQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_KDE Plasma 6.7 review: still the best Linux Desktop IMO.mp4", false, 43, ~U[2026-06-16 11:11:56Z]] 07:54:14.239 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:14.239 [debug] QUERY OK source="media_profiles" db=0.1ms idle=21.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] 07:54:14.240 [debug] QUERY OK source="media_items" db=0.1ms idle=22.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 [3209205] 07:54:14.240 [debug] Current batch of media processed. Will check again in 1000ms 07:54:15.241 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine release date leaked\n01:40 Ubuntu Touch update fixes some of the problems I had\n03:41 SonicDE forks KDE into an X11 desktop\n05:51 GNOME Foundation issues and lack of transparency\n\nLinks:\nSteam machine release date leaked\nhttps://goodtech.info/valve-steamos-beta-leak-hardware-steam-machine/\n\nUbuntu Touch update fixes some of the problems I had\nhttps://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-2-0-beta-is-now-ready-for-testing-4000\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31", "duration" => 918, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_Daily Linux News - S03E112 - My take on the GNOME Foundation stuff.NA", "id" => "8IB2ysqfIps", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8IB2ysqfIps", "playlist_index" => 15, "timestamp" => 1781597086, "title" => "Daily Linux News - S03E112 - My take on the GNOME Foundation stuff", "upload_date" => "20260616"} 07:54:15.242 [debug] QUERY OK source="sources" db=0.2ms 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 (?)) [43] 07:54:15.242 [debug] QUERY OK source="sources" db=0.0ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:15.245 [debug] QUERY OK source="media_items" db=3.4ms idle=1002.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 08:04:46Z], 43] 07:54:15.251 [debug] QUERY OK source="media_items" db=4.9ms idle=1006.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine release date leaked\n01:40 Ubuntu Touch update fixes some of the problems I had\n03:41 SonicDE forks KDE into an X11 desktop\n05:51 GNOME Foundation issues and lack of transparency\n\nLinks:\nSteam machine release date leaked\nhttps://goodtech.info/valve-steamos-beta-leak-hardware-steam-machine/\n\nUbuntu Touch update fixes some of the problems I had\nhttps://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-2-0-beta-is-now-ready-for-testing-4000\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31", "Daily Linux News - S03E112 - My take on the GNOME Foundation stuff", "fcdc2e3b-ecd9-46da-82c8-e37b6666bb9f", "8IB2ysqfIps", 918, false, "https://www.youtube.com/watch?v=8IB2ysqfIps", 15, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_Daily Linux News - S03E112 - My take on the GNOME Foundation stuff.NA", false, false, false, 43, [], 97, ~U[2026-06-16 08:04:46Z], ~U[2026-06-29 12:54:15Z], ~U[2026-06-29 12:54:15Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine release date leaked\n01:40 Ubuntu Touch update fixes some of the problems I had\n03:41 SonicDE forks KDE into an X11 desktop\n05:51 GNOME Foundation issues and lack of transparency\n\nLinks:\nSteam machine release date leaked\nhttps://goodtech.info/valve-steamos-beta-leak-hardware-steam-machine/\n\nUbuntu Touch update fixes some of the problems I had\nhttps://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-2-0-beta-is-now-ready-for-testing-4000\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31", "Daily Linux News - S03E112 - My take on the GNOME Foundation stuff", "8IB2ysqfIps", 918, false, "https://www.youtube.com/watch?v=8IB2ysqfIps", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_Daily Linux News - S03E112 - My take on the GNOME Foundation stuff.NA", false, 43, ~U[2026-06-16 08:04:46Z]] 07:54:15.251 [debug] QUERY OK source="sources" db=0.3ms idle=141.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:15.252 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.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] 07:54:15.252 [debug] QUERY OK source="media_items" db=0.2ms idle=10.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 [3208372] 07:54:15.252 [info] Kicking off download for media item #3208372 (8IB2ysqfIps) 07:54:15.254 [debug] Current batch of media processed. Will check again in 1000ms 07:54:16.255 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:20 X11 server rewritten using Rust and AI\n02:47 LadyBird browser shuts down external contributions\n04:45 Document Foundation keeps attacking other suites\n10:07 1500 AUR packages compromised\n13:12 Fedora bug tracker gets infected by an AI bot\n15:20 Microsoft's SecureBoot key expires, action might be required\n17:31 Linux kernel 7.1 released\n19:12 eOS 4.0 adds a ton of stuff to the degoogled ROM\n22:57 Chrome removes manifest v2 support entirely\n24:14 Firefox for Android will rely on Google Play integrity API\n\nLinks:\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLadyBird browser shuts down external contributions\nhttps://ladybird.org/posts/changing-how-we-develop-ladybird/\n\nDocument Foundation keeps attacking other suites\nhttps://www.omgubuntu.co.uk/2026/06/libreoffice-tabbed-ui-backgrounds\nhttps://blog.documentfoundation.org/blog/2026/06/08/an-open-letter/\n\n1500 AUR packages compromised\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\n\nFedora bug tracker gets infected by an AI bot\nhttps://itsfoss.com/news/fedora-bug-tracker-infiltrated-by-ai-agent/\n\nMicrosoft's SecureBoot key expires, action might be required\nhttps://fedoramagazine.org/expiration-of-microsoft-secure-boot-keys/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\neOS 4.0 adds a ton of stuff to the degoogled ROM\nhttps://murena.com/meet-e-os-4-0/\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity", "duration" => 1664, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Daily Linux News - S03E111 - A big catchup episode !.NA", "id" => "KjC4jWQwxhc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KjC4jWQwxhc", "playlist_index" => 16, "timestamp" => 1781521886, "title" => "Daily Linux News - S03E111 - A big catchup episode !", "upload_date" => "20260615"} 07:54:16.256 [debug] QUERY OK source="sources" db=0.2ms idle=1004.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:16.256 [debug] QUERY OK source="sources" db=0.1ms idle=1004.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:16.260 [debug] QUERY OK source="media_items" db=3.4ms idle=1003.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-15 11:11:26Z], 43] 07:54:16.261 [debug] QUERY OK source="media_items" db=1.0ms idle=1006.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:20 X11 server rewritten using Rust and AI\n02:47 LadyBird browser shuts down external contributions\n04:45 Document Foundation keeps attacking other suites\n10:07 1500 AUR packages compromised\n13:12 Fedora bug tracker gets infected by an AI bot\n15:20 Microsoft's SecureBoot key expires, action might be required\n17:31 Linux kernel 7.1 released\n19:12 eOS 4.0 adds a ton of stuff to the degoogled ROM\n22:57 Chrome removes manifest v2 support entirely\n24:14 Firefox for Android will rely on Google Play integrity API\n\nLinks:\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLadyBird browser shuts down external contributions\nhttps://ladybird.org/posts/changing-how-we-develop-ladybird/\n\nDocument Foundation keeps attacking other suites\nhttps://www.omgubuntu.co.uk/2026/06/libreoffice-tabbed-ui-backgrounds\nhttps://blog.documentfoundation.org/blog/2026/06/08/an-open-letter/\n\n1500 AUR packages compromised\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\n\nFedora bug tracker gets infected by an AI bot\nhttps://itsfoss.com/news/fedora-bug-tracker-infiltrated-by-ai-agent/\n\nMicrosoft's SecureBoot key expires, action might be required\nhttps://fedoramagazine.org/expiration-of-microsoft-secure-boot-keys/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\neOS 4.0 adds a ton of stuff to the degoogled ROM\nhttps://murena.com/meet-e-os-4-0/\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity", "Daily Linux News - S03E111 - A big catchup episode !", "2617a315-be16-4519-9913-c7e307a09e22", "KjC4jWQwxhc", 1664, false, "https://www.youtube.com/watch?v=KjC4jWQwxhc", 16, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Daily Linux News - S03E111 - A big catchup episode !.NA", false, false, false, 43, [], 97, ~U[2026-06-15 11:11:26Z], ~U[2026-06-29 12:54:16Z], ~U[2026-06-29 12:54:16Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:20 X11 server rewritten using Rust and AI\n02:47 LadyBird browser shuts down external contributions\n04:45 Document Foundation keeps attacking other suites\n10:07 1500 AUR packages compromised\n13:12 Fedora bug tracker gets infected by an AI bot\n15:20 Microsoft's SecureBoot key expires, action might be required\n17:31 Linux kernel 7.1 released\n19:12 eOS 4.0 adds a ton of stuff to the degoogled ROM\n22:57 Chrome removes manifest v2 support entirely\n24:14 Firefox for Android will rely on Google Play integrity API\n\nLinks:\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLadyBird browser shuts down external contributions\nhttps://ladybird.org/posts/changing-how-we-develop-ladybird/\n\nDocument Foundation keeps attacking other suites\nhttps://www.omgubuntu.co.uk/2026/06/libreoffice-tabbed-ui-backgrounds\nhttps://blog.documentfoundation.org/blog/2026/06/08/an-open-letter/\n\n1500 AUR packages compromised\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\n\nFedora bug tracker gets infected by an AI bot\nhttps://itsfoss.com/news/fedora-bug-tracker-infiltrated-by-ai-agent/\n\nMicrosoft's SecureBoot key expires, action might be required\nhttps://fedoramagazine.org/expiration-of-microsoft-secure-boot-keys/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\neOS 4.0 adds a ton of stuff to the degoogled ROM\nhttps://murena.com/meet-e-os-4-0/\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity", "Daily Linux News - S03E111 - A big catchup episode !", "KjC4jWQwxhc", 1664, false, "https://www.youtube.com/watch?v=KjC4jWQwxhc", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Daily Linux News - S03E111 - A big catchup episode !.NA", false, 43, ~U[2026-06-15 11:11:26Z]] 07:54:16.262 [debug] QUERY OK source="sources" db=0.2ms idle=150.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:16.262 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:54:16.262 [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 [3201242] 07:54:16.262 [info] Kicking off download for media item #3201242 (KjC4jWQwxhc) 07:54:16.263 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestmaps:\n00:00 Intro\n00:05 My vacation\n11:30 2 Weeks with Ubuntu Touch", "duration" => 1642, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch.NA", "id" => "cPhk9LaU24M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cPhk9LaU24M", "playlist_index" => 17, "timestamp" => 1781512587, "title" => "Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch", "upload_date" => "20260615"} 07:54:16.264 [debug] QUERY OK source="sources" db=0.0ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:16.264 [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" = ?) [43] 07:54:16.267 [debug] QUERY OK source="media_items" db=3.0ms 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-15 08:36:27Z], 43] 07:54:16.268 [debug] QUERY OK source="media_items" db=0.5ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestmaps:\n00:00 Intro\n00:05 My vacation\n11:30 2 Weeks with Ubuntu Touch", "Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch", "74136df6-d2a7-4ab3-ae8d-35da3dd7869c", "cPhk9LaU24M", 1642, false, "https://www.youtube.com/watch?v=cPhk9LaU24M", 17, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch.NA", false, false, false, 43, [], 97, ~U[2026-06-15 08:36:27Z], ~U[2026-06-29 12:54:16Z], ~U[2026-06-29 12:54:16Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestmaps:\n00:00 Intro\n00:05 My vacation\n11:30 2 Weeks with Ubuntu Touch", "Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch", "cPhk9LaU24M", 1642, false, "https://www.youtube.com/watch?v=cPhk9LaU24M", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch.NA", false, 43, ~U[2026-06-15 08:36:27Z]] 07:54:16.268 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:16.268 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 07:54:16.269 [debug] QUERY OK source="media_items" db=0.1ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3200392] 07:54:16.269 [info] Kicking off download for media item #3200392 (cPhk9LaU24M) 07:54:16.270 [debug] Current batch of media processed. Will check again in 1000ms 07:54:17.271 [debug] Current batch of media processed. Will check again in 1000ms 07:54:18.272 [debug] Current batch of media processed. Will check again in 1000ms 07:54:19.274 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Use a secure, encrypted, and fast VPN with Proton VPN: https://protonvpn.com/TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:43 Sponsor: ProtonVPN\n01:41 Mouse Tiler: auto-tiling for KDE\n06:35 Other Scripts\n08:00 Plasma Layout & Applets\n11:43 Themes & Icons\n15:57 Activities\n18:46 Sponsor: Tuxedo Computers\n\n#kdeplasma #linuxdesktop #ricing", "duration" => 1194, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061100_How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites...mp4", "id" => "UUn-7H35cFQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UUn-7H35cFQ", "playlist_index" => 18, "timestamp" => 1781176430, "title" => "How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites..", "upload_date" => "20260611"} 07:54:19.274 [debug] QUERY OK source="sources" db=0.2ms idle=1117.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:19.275 [debug] QUERY OK source="sources" db=0.1ms idle=1117.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:19.278 [debug] QUERY OK source="media_items" db=3.4ms idle=1118.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-11 11:13:50Z], 43] 07:54:19.279 [debug] QUERY OK source="media_items" db=0.8ms idle=1121.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use a secure, encrypted, and fast VPN with Proton VPN: https://protonvpn.com/TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:43 Sponsor: ProtonVPN\n01:41 Mouse Tiler: auto-tiling for KDE\n06:35 Other Scripts\n08:00 Plasma Layout & Applets\n11:43 Themes & Icons\n15:57 Activities\n18:46 Sponsor: Tuxedo Computers\n\n#kdeplasma #linuxdesktop #ricing", "How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites..", "e2e3fe65-5c8f-4e5e-aa00-9f20ee3f423f", "UUn-7H35cFQ", 1194, false, "https://www.youtube.com/watch?v=UUn-7H35cFQ", 18, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061100_How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites...mp4", false, false, false, 43, [], 98, ~U[2026-06-11 11:13:50Z], ~U[2026-06-29 12:54:19Z], ~U[2026-06-29 12:54:19Z], "Use a secure, encrypted, and fast VPN with Proton VPN: https://protonvpn.com/TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:43 Sponsor: ProtonVPN\n01:41 Mouse Tiler: auto-tiling for KDE\n06:35 Other Scripts\n08:00 Plasma Layout & Applets\n11:43 Themes & Icons\n15:57 Activities\n18:46 Sponsor: Tuxedo Computers\n\n#kdeplasma #linuxdesktop #ricing", "How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites..", "UUn-7H35cFQ", 1194, false, "https://www.youtube.com/watch?v=UUn-7H35cFQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061100_How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites...mp4", false, 43, ~U[2026-06-11 11:13:50Z]] 07:54:19.280 [debug] QUERY OK source="sources" db=0.1ms idle=164.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:19.280 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:54:19.280 [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 [3169652] 07:54:19.280 [debug] Current batch of media processed. Will check again in 1000ms 07:54:20.282 [debug] Current batch of media processed. Will check again in 1000ms 07:54:21.284 [debug] Current batch of media processed. Will check again in 1000ms 07:54:22.285 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:45 Sponsor: SquareSpace\n02:21 EU parliament ditches Google for Qwant\n03:47 EU unveils their plan to ditch Big Tech\n07:12 Brave launches debloated version for $60USD\n09:33 Canonical takes over the maintenance of Flutter on Desktop\n11:08 Ubuntu has a big desktop roadmap\n16:00 X11 disappears in 5 months on Plasma\n17:56 Acer launches Debian based handheld\n19:16 Microsoft adds the Linux core utilities to Windows\n20:34 Microsoft will de-activate older Office suites people bought\n22:09 Steam machine and Frame planned for summer release\n23:26 Proton Drive gets faster + Linux client in the works\n24:49 UK orders Google to have attribution and opt-outs for AI summaries\n28:03 Sponsor: Tuxedo Computers\n\nLinks:\nEU parliament ditches Google for Qwant\nhttps://www.politico.eu/article/european-parliament-ditches-google-for-french-search-engine/\n\nEU unveils their plan to ditch Big Tech\nhttps://www.politico.eu/article/eu-plots-long-game-against-us-digital-supremacy/\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/\n\nCanonical takes over the maintenance of Flutter on Desktop\nhttps://www.omgubuntu.co.uk/2026/05/flutter-desktop-canonical-maintained\n\nUbuntu has a big desktop roadmap\nhttps://www.omgubuntu.co.uk/2026/06/ubuntu-speech-to-text-ai\nhttps://discourse.ubuntu.com/t/ubuntu-desktop-26-10-stonking-stingray-roadmap-building-toward-ubuntu-28-04-lts/83751\n\nX11 disappears in 5 months on Plasma\nhttps://blog.davidedmundson.co.uk/blog/596/\n\nAcer launches Debian based handheld\nhttps://www.cnet.com/tech/gaming/acer-nitro-blaze-link-remote-play-handheld-acers-computex-launches/\nhttps://www.pcmag.com/news/acer-launching-streaming-only-handheld-gaming-pc\n\nMicrosoft adds the Linux core utilities to Windows\nhttps://itsfoss.com/news/windows-coreutils/\n\nMicrosoft will de-activate older Office suites people bought\nhttps://consumerrights.wiki/w/Microsoft_Office_2019_and_2021_for_Mac_view-only_conversion_(2026)#cite_note-ms-learn-cert-1\n\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nProton Drive gets faster + Linux client in the works\nhttps://proton.me/blog/drive-sdk-june-2026\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\n#technews #linuxnews #linuxdesktop", "duration" => 1781, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060600_Linux News - Ubuntu is making big desktop moves.mp4", "id" => "CQ2Pb0YNeqE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CQ2Pb0YNeqE", "playlist_index" => 19, "timestamp" => 1780735890, "title" => "Linux News - Ubuntu is making big desktop moves", "upload_date" => "20260606"} 07:54:22.285 [debug] QUERY OK source="sources" db=0.1ms idle=1128.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:22.285 [debug] QUERY OK source="sources" db=0.0ms idle=1128.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:22.289 [debug] QUERY OK source="media_items" db=3.6ms idle=1128.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-06 08:51:30Z], 43] 07:54:22.293 [debug] QUERY OK source="media_items" db=3.3ms idle=1133.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:45 Sponsor: SquareSpace\n02:21 EU parliament ditches Google for Qwant\n03:47 EU unveils their plan to ditch Big Tech\n07:12 Brave launches debloated version for $60USD\n09:33 Canonical takes over the maintenance of Flutter on Desktop\n11:08 Ubuntu has a big desktop roadmap\n16:00 X11 disappears in 5 months on Plasma\n17:56 Acer launches Debian based handheld\n19:16 Microsoft adds the Linux core utilities to Windows\n20:34 Microsoft will de-activate older Office suites people bought\n22:09 Steam machine and Frame planned for summer release\n23:26 Proton Drive gets faster + Linux client in the works\n24:49 UK orders Google to have attribution and opt-outs for AI summaries\n28:03 Sponsor: Tuxedo Computers\n\nLinks:\nEU parliament ditches Google for Qwant\nhttps://www.politico.eu/article/european-parliament-ditches-google-for-french-search-engine/\n\nEU unveils their plan to ditch Big Tech\nhttps://www.politico.eu/article/eu-plots-long-game-against-us-digital-supremacy/\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/\n\nCanonical takes over the maintenance of Flutter on Desktop\nhttps://www.omgubuntu.co.uk/2026/05/flutter-desktop-canonical-maintained\n\nUbuntu has a big desktop roadmap\nhttps://www.omgubuntu.co.uk/2026/06/ubuntu-speech-to-text-ai\nhttps://discourse.ubuntu.com/t/ubuntu-desktop-26-10-stonking-stingray-roadmap-building-toward-ubuntu-28-04-lts/83751\n\nX11 disappears in 5 months on Plasma\nhttps://blog.davidedmundson.co.uk/blog/596/\n\nAcer launches Debian based handheld\nhttps://www.cnet.com/tech/gaming/acer-nitro-blaze-link-remote-play-handheld-acers-computex-launches/\nhttps://www.pcmag.com/news/acer-launching-streaming-only-handheld-gaming-pc\n\nMicrosoft adds the Linux core utilities to Windows\nhttps://itsfoss.com/news/windows-coreutils/\n\nMicrosoft will de-activate older Office suites people bought\nhttps://consumerrights.wiki/w/Microsoft_Office_2019_and_2021_for_Mac_view-only_conversion_(2026)#cite_note-ms-learn-cert-1\n\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nProton Drive gets faster + Linux client in the works\nhttps://proton.me/blog/drive-sdk-june-2026\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\n#technews #linuxnews #linuxdesktop", "Linux News - Ubuntu is making big desktop moves", "ed147293-c229-473f-aea8-804474257645", "CQ2Pb0YNeqE", 1781, false, "https://www.youtube.com/watch?v=CQ2Pb0YNeqE", 19, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060600_Linux News - Ubuntu is making big desktop moves.mp4", false, false, false, 43, [], 98, ~U[2026-06-06 08:51:30Z], ~U[2026-06-29 12:54:22Z], ~U[2026-06-29 12:54:22Z], "Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:45 Sponsor: SquareSpace\n02:21 EU parliament ditches Google for Qwant\n03:47 EU unveils their plan to ditch Big Tech\n07:12 Brave launches debloated version for $60USD\n09:33 Canonical takes over the maintenance of Flutter on Desktop\n11:08 Ubuntu has a big desktop roadmap\n16:00 X11 disappears in 5 months on Plasma\n17:56 Acer launches Debian based handheld\n19:16 Microsoft adds the Linux core utilities to Windows\n20:34 Microsoft will de-activate older Office suites people bought\n22:09 Steam machine and Frame planned for summer release\n23:26 Proton Drive gets faster + Linux client in the works\n24:49 UK orders Google to have attribution and opt-outs for AI summaries\n28:03 Sponsor: Tuxedo Computers\n\nLinks:\nEU parliament ditches Google for Qwant\nhttps://www.politico.eu/article/european-parliament-ditches-google-for-french-search-engine/\n\nEU unveils their plan to ditch Big Tech\nhttps://www.politico.eu/article/eu-plots-long-game-against-us-digital-supremacy/\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/\n\nCanonical takes over the maintenance of Flutter on Desktop\nhttps://www.omgubuntu.co.uk/2026/05/flutter-desktop-canonical-maintained\n\nUbuntu has a big desktop roadmap\nhttps://www.omgubuntu.co.uk/2026/06/ubuntu-speech-to-text-ai\nhttps://discourse.ubuntu.com/t/ubuntu-desktop-26-10-stonking-stingray-roadmap-building-toward-ubuntu-28-04-lts/83751\n\nX11 disappears in 5 months on Plasma\nhttps://blog.davidedmundson.co.uk/blog/596/\n\nAcer launches Debian based handheld\nhttps://www.cnet.com/tech/gaming/acer-nitro-blaze-link-remote-play-handheld-acers-computex-launches/\nhttps://www.pcmag.com/news/acer-launching-streaming-only-handheld-gaming-pc\n\nMicrosoft adds the Linux core utilities to Windows\nhttps://itsfoss.com/news/windows-coreutils/\n\nMicrosoft will de-activate older Office suites people bought\nhttps://consumerrights.wiki/w/Microsoft_Office_2019_and_2021_for_Mac_view-only_conversion_(2026)#cite_note-ms-learn-cert-1\n\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nProton Drive gets faster + Linux client in the works\nhttps://proton.me/blog/drive-sdk-june-2026\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\n#technews #linuxnews #linuxdesktop", "Linux News - Ubuntu is making big desktop moves", "CQ2Pb0YNeqE", 1781, false, "https://www.youtube.com/watch?v=CQ2Pb0YNeqE", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060600_Linux News - Ubuntu is making big desktop moves.mp4", false, 43, ~U[2026-06-06 08:51:30Z]] 07:54:22.294 [debug] QUERY OK source="sources" db=0.2ms idle=174.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:22.294 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:54:22.294 [debug] QUERY OK source="media_items" db=0.1ms idle=8.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 [3129532] 07:54:22.295 [debug] Current batch of media processed. Will check again in 1000ms 07:54:23.027 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UC5UAwBUum7CPN5buc-_N1Fw --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/85/5e/855e02bc21bdfc7a28577bf281d5568b4c925739511e8e61061b16db8bd21b1a.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/1b/f1/1bf16d7f3431bb94e653de2dd9b344173862b6f98c76a01a48ac8cce3a3c105b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 07:54:23.028 [debug] Gracefully stopping file follower 07:54:23.029 [debug] QUERY OK source="sources" db=0.8ms idle=738.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 07:54:23.029 [debug] QUERY OK source="sources" db=0.1ms idle=736.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.033 [debug] QUERY OK source="media_items" db=3.3ms idle=735.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-29 08:03:10Z], 43] 07:54:23.034 [debug] QUERY OK source="media_items" db=0.7ms idle=738.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps\n00:00 Intro\n00:05 Valve removes 4k60 mention from the Steam machine page\n02:31 Some cool GNOME apps released and updated\n06:26 KDE whiteboard & new email Client\n08:39 New DirtyClone vulnerability\n\n\nLinks:\nValve removes 4k60 mention from the Steam machine page\nhttps://www.gamingonlinux.com/2026/06/valve-quietly-tweaked-the-steam-machine-details-removing-4k-gaming-at-60-fps/\n\nSome cool GNOME apps released and updated\nhttps://thisweek.gnome.org/posts/2026/06/twig-255/\n\nKDE whiteboard & new email Client\nhttps://linuxiac.com/meet-drawy-kde-infinite-whiteboard-app-for-linux/\nhttps://melia.buxjr.com/\n\nNew DirtyClone vulnerability\nhttps://linuxiac.com/linux-gets-dirty-again-dirtyclone-kernel-flaw-can-lead-to-local-root-access/", "Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability", "9c5dbf65-edd2-4a85-85e3-12ded2a88f6f", "MZq55vL2aGw", 604, false, "https://www.youtube.com/watch?v=MZq55vL2aGw", 1, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability.NA", false, false, false, 43, [], 97, ~U[2026-06-29 08:03:10Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps\n00:00 Intro\n00:05 Valve removes 4k60 mention from the Steam machine page\n02:31 Some cool GNOME apps released and updated\n06:26 KDE whiteboard & new email Client\n08:39 New DirtyClone vulnerability\n\n\nLinks:\nValve removes 4k60 mention from the Steam machine page\nhttps://www.gamingonlinux.com/2026/06/valve-quietly-tweaked-the-steam-machine-details-removing-4k-gaming-at-60-fps/\n\nSome cool GNOME apps released and updated\nhttps://thisweek.gnome.org/posts/2026/06/twig-255/\n\nKDE whiteboard & new email Client\nhttps://linuxiac.com/meet-drawy-kde-infinite-whiteboard-app-for-linux/\nhttps://melia.buxjr.com/\n\nNew DirtyClone vulnerability\nhttps://linuxiac.com/linux-gets-dirty-again-dirtyclone-kernel-flaw-can-lead-to-local-root-access/", "Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability", "MZq55vL2aGw", 604, false, "https://www.youtube.com/watch?v=MZq55vL2aGw", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Daily Linux News - S03E121 - A wave of new Linux apps & a new Linux vulnerability.NA", false, 43, ~U[2026-06-29 08:03:10Z]] 07:54:23.034 [debug] QUERY OK source="sources" db=0.1ms idle=739.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.038 [debug] QUERY OK source="media_items" db=3.3ms idle=5.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-29 06:53:38Z], 43] 07:54:23.039 [debug] QUERY OK source="media_items" db=0.6ms idle=8.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n08:51 Steam machine", "Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts", "9f9113de-d704-4b78-b45d-78bd89b74b10", "DYW5_dKatQU", 1565, false, "https://www.youtube.com/watch?v=DYW5_dKatQU", 2, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts.NA", false, false, false, 43, [], 97, ~U[2026-06-29 06:53:38Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n08:51 Steam machine", "Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts", "DYW5_dKatQU", 1565, false, "https://www.youtube.com/watch?v=DYW5_dKatQU", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062900_Patroncast - S06E25 - Heatwave ruined my productivity & Steam machine thoughts.NA", false, 43, ~U[2026-06-29 06:53:38Z]] 07:54:23.039 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [43] 07:54:23.043 [debug] QUERY OK source="media_items" db=3.2ms 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-06-27 09:35:43Z], 43] 07:54:23.045 [debug] QUERY OK source="media_items" db=1.4ms idle=8.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Check out TuxCare's Endless Lifecycle Support for MinIO (and other distros and open source projects): https://tuxcare.com/endless-lifecycle-support/minio-eol-support/?utm_source=youtube&utm_medium=social&utm_campaign=ELS%20for%20MinIO&utm_term=The%20linux%20experiment\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\n#technews #linuxnews #linuxdesktop #linux\n\nTimestamps:\n00:00 Intro\n00:26 Sponsor: TuxCare\n01:33 Steam machine looks like a disappointment \n06:52 SteamOS 3.8 image supports all AMD PCs\n08:23 Epic Games open sources new version control system\n10:00 BcacheFS now no longer experimental\n11:26 XFCE has its first Wayland compositor\n12:37 Cosmic moves to version 1.1\n13:59 Wikipedia claps back against AI\n15:25 Wikipedia cofounder banned for canvassing\n18:55 Solution proposed to end all captchas\n21:11 New initiative for improve graphics end 3D software on Wayland\n23:16 GE Proton fixes all media related issues in games\n25:40 DXVK 3.0 gives big performance improvements\n28:05 Sponsor: Tuxedo Computers\n\n\nLinks\nSteam machine looks like a disappointment\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0\n\n#technews #linuxnews #linuxdesktop #linux", "Linux Weekly News - Epic Games made their own GIT", "014be39e-d447-4f28-a0c8-54c557486a4a", "p5aE1FpFmtY", 1797, false, "https://www.youtube.com/watch?v=p5aE1FpFmtY", 3, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062700_Linux Weekly News - Epic Games made their own GIT.mp4", false, false, false, 43, [], 98, ~U[2026-06-27 09:35:43Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "Check out TuxCare's Endless Lifecycle Support for MinIO (and other distros and open source projects): https://tuxcare.com/endless-lifecycle-support/minio-eol-support/?utm_source=youtube&utm_medium=social&utm_campaign=ELS%20for%20MinIO&utm_term=The%20linux%20experiment\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\n#technews #linuxnews #linuxdesktop #linux\n\nTimestamps:\n00:00 Intro\n00:26 Sponsor: TuxCare\n01:33 Steam machine looks like a disappointment \n06:52 SteamOS 3.8 image supports all AMD PCs\n08:23 Epic Games open sources new version control system\n10:00 BcacheFS now no longer experimental\n11:26 XFCE has its first Wayland compositor\n12:37 Cosmic moves to version 1.1\n13:59 Wikipedia claps back against AI\n15:25 Wikipedia cofounder banned for canvassing\n18:55 Solution proposed to end all captchas\n21:11 New initiative for improve graphics end 3D software on Wayland\n23:16 GE Proton fixes all media related issues in games\n25:40 DXVK 3.0 gives big performance improvements\n28:05 Sponsor: Tuxedo Computers\n\n\nLinks\nSteam machine looks like a disappointment\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0\n\n#technews #linuxnews #linuxdesktop #linux", "Linux Weekly News - Epic Games made their own GIT", "p5aE1FpFmtY", 1797, false, "https://www.youtube.com/watch?v=p5aE1FpFmtY", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 202 (truncated) 07:54:23.045 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [43] 07:54:23.049 [debug] QUERY OK source="media_items" db=3.3ms idle=6.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-26 08:08:27Z], 43] 07:54:23.050 [debug] QUERY OK source="media_items" db=0.8ms idle=9.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 New initiative for improve graphics end 3D software on Wayland\n04:15 Purism releases Librem 16 laptop\n06:45 DXVK 3.0 gives big performance improvements\n\nLinks:\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nPurism releases Librem 16 laptop\nhttps://linuxiac.com/purisms-librem-16-brings-linux-privacy-hardware-at-a-premium-price/\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0", "Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update", "e26b0d01-f679-48ae-880b-d5aa362d3419", "2irCIuypCN8", 601, false, "https://www.youtube.com/watch?v=2irCIuypCN8", 4, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062600_Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update.NA", false, false, false, 43, [], 98, ~U[2026-06-26 08:08:27Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 New initiative for improve graphics end 3D software on Wayland\n04:15 Purism releases Librem 16 laptop\n06:45 DXVK 3.0 gives big performance improvements\n\nLinks:\n\nNew initiative for improve graphics end 3D software on Wayland\nhttps://www.aswf.io/blog/academy-software-foundation-launches-new-wayland-for-artists-working-group/\n\nPurism releases Librem 16 laptop\nhttps://linuxiac.com/purisms-librem-16-brings-linux-privacy-hardware-at-a-premium-price/\n\nDXVK 3.0 gives huge performance improvements\nhttps://github.com/doitsujin/dxvk/releases/tag/v3.0", "Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update", "2irCIuypCN8", 601, false, "https://www.youtube.com/watch?v=2irCIuypCN8", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062600_Daily Linux News - S03E120 - Group aims to improve Wayland for graphics apps, DXVK gets big update.NA", false, 43, ~U[2026-06-26 08:08:27Z]] 07:54:23.051 [debug] QUERY OK source="sources" db=0.4ms idle=7.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.054 [debug] QUERY OK source="media_items" db=3.1ms idle=6.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-25 09:23:21Z], 43] 07:54:23.055 [debug] QUERY OK source="media_items" db=0.7ms idle=8.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS 3.8 image supports all AMD PCs\n02:04 GE Proton fixes all media related issues in games\n06:44 Pine64 launches smart speaker for home assistant\n\n\n\nLinks\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nPine64 launches smart speaker for home assistant\nhttps://itsfoss.com/news/pinevoice-smart-speaker/", "Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game", "350babbd-ad48-43d5-8985-13bc0e86853b", "I_oGMKxAQxM", 541, false, "https://www.youtube.com/watch?v=I_oGMKxAQxM", 5, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062500_Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game.NA", false, false, false, 43, [], 98, ~U[2026-06-25 09:23:21Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS 3.8 image supports all AMD PCs\n02:04 GE Proton fixes all media related issues in games\n06:44 Pine64 launches smart speaker for home assistant\n\n\n\nLinks\nSteamOS 3.8 image supports all AMD PCs\nhttps://help.steampowered.com/en/faqs/view/65B4-2AA3-5F37-4227\n\nGE Proton fixes all media related issues in games\nhttps://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton11-1\n\nPine64 launches smart speaker for home assistant\nhttps://itsfoss.com/news/pinevoice-smart-speaker/", "Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game", "I_oGMKxAQxM", 541, false, "https://www.youtube.com/watch?v=I_oGMKxAQxM", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062500_Daily Linux News - S03E119 - SteamOS for every PC is here, GE Proton fixes videos in game.NA", false, 43, ~U[2026-06-25 09:23:21Z]] 07:54:23.056 [debug] QUERY OK source="sources" db=0.5ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.059 [debug] QUERY OK source="media_items" db=3.4ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-24 08:27:08Z], 43] 07:54:23.061 [debug] QUERY OK source="media_items" db=1.0ms idle=8.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine seems disappointing for the price\n04:39 Cosmic moves to version 1.1\n06:02 Wikipedia cofounder banned for canvassing\n10:27 Solution proposed to end all captchas\n\nLinks:\n\nSteam machine seems disappointing for the price\nhttps://www.pcgamer.com/hardware/gaming-pcs/the-steam-machine-is-the-biggest-victim-of-the-rampocalypse-to-date-and-thats-made-me-unreasonably-annoyed/\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/", "Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned", "813b3449-44fa-4e83-8e61-4a11106e2d1a", "Z0vbXozyZ6Q", 801, false, "https://www.youtube.com/watch?v=Z0vbXozyZ6Q", 6, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062400_Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned.NA", false, false, false, 43, [], 98, ~U[2026-06-24 08:27:08Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine seems disappointing for the price\n04:39 Cosmic moves to version 1.1\n06:02 Wikipedia cofounder banned for canvassing\n10:27 Solution proposed to end all captchas\n\nLinks:\n\nSteam machine seems disappointing for the price\nhttps://www.pcgamer.com/hardware/gaming-pcs/the-steam-machine-is-the-biggest-victim-of-the-rampocalypse-to-date-and-thats-made-me-unreasonably-annoyed/\nhttps://www.rockpapershotgun.com/steam-machine-review\nhttps://aftermath.site/steam-machine-review-price/\n\nCosmic moves to version 1.1\nhttps://www.omgubuntu.co.uk/2026/06/cosmic-desktop-update-system-monitor\n\nWikipedia cofounder banned for canvassing\nhttps://www.404media.co/wikipedia-cofounder-larry-sanger-banned-from-site-for-canvassaing/\n\nSolution proposed to end all captchas\nhttps://www.cloudflare.com/press/press-releases/2026/cloudflare-collaborates-with-leading-browsers-to-develop-a-privacy-first-protocol-for-the-global-internet/", "Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned", "Z0vbXozyZ6Q", 801, false, "https://www.youtube.com/watch?v=Z0vbXozyZ6Q", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062400_Daily Linux News - S03E118 - Steam machine looks disappointing, Wikipedia cofounder banned.NA", false, 43, ~U[2026-06-24 08:27:08Z]] 07:54:23.062 [debug] QUERY OK source="sources" db=0.5ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.066 [debug] QUERY OK source="media_items" db=3.5ms idle=6.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-23 08:00:41Z], 43] 07:54:23.071 [debug] QUERY OK source="media_items" db=4.7ms idle=9.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine launches for more than a 1000 bucks\n03:33 SteamOS ISO coming, but no date still\n05:57 XFCE has its first Wayland compositor\n07:37 NVK gets DLSS support\n08:37 Wikipedia claps back against AI\n\nLinks\nSteam machine launches for more than a 1000 bucks\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\n\nSteamOS ISO coming, but no date still\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nNVK gets DLSS support\nhttps://www.gamingonlinux.com/2026/06/the-open-source-nvidia-vulkan-driver-nvk-now-has-experimental-dlss-support/\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says", "Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland", "0f05353e-4123-4fc3-9223-38f932a11f79", "Rf5xQTtGy-A", 631, false, "https://www.youtube.com/watch?v=Rf5xQTtGy-A", 7, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062300_Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland.NA", false, false, false, 43, [], 98, ~U[2026-06-23 08:00:41Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine launches for more than a 1000 bucks\n03:33 SteamOS ISO coming, but no date still\n05:57 XFCE has its first Wayland compositor\n07:37 NVK gets DLSS support\n08:37 Wikipedia claps back against AI\n\nLinks\nSteam machine launches for more than a 1000 bucks\nhttps://store.steampowered.com/news/group/45479024/view/685257114654870245\n\nSteamOS ISO coming, but no date still\nhttps://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\n\nXFCE has its first Wayland compositor\nhttps://www.spurint.org/journal/2026/06/xfwl4s-first-preview-release\n\nNVK gets DLSS support\nhttps://www.gamingonlinux.com/2026/06/the-open-source-nvidia-vulkan-driver-nvk-now-has-experimental-dlss-support/\n\nWikipedia claps back against AI\nhttps://www.france24.com/en/live-news/20260622-wikipedia-won-t-let-ai-edit-articles-cofounder-says", "Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland", "Rf5xQTtGy-A", 631, false, "https://www.youtube.com/watch?v=Rf5xQTtGy-A", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062300_Daily Linux News - S03E117 - Steam machine at 1000 bucks, XFCE's move to Wayland.NA", false, 43, ~U[2026-06-23 08:00:41Z]] 07:54:23.072 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [43] 07:54:23.075 [debug] QUERY OK source="media_items" db=3.6ms idle=10.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-22 08:17:45Z], 43] 07:54:23.076 [debug] QUERY OK source="media_items" db=0.8ms idle=13.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:34 Postmarket OS updates Linux Phones\n03:03 KDE Goals is open for submissions\n05:15 BcacheFS now no longer experimental\n06:59 Epic Games open sources new version control system\n09:41 Mesa 26.2 improves frame pacing and stutters in game\n\nLinks\n\nPostmarket OS updates Linux Phones\nhttps://linuxiac.com/postmarketos-26-06-brings-fresh-linux-phone-updates/\n\nKDE Goals is open for submissions\nhttps://blogs.kde.org/2026/06/20/kde-goals-call-for-submissions/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nMesa 26.2 improves frame pacing and stutters in game\nhttps://www.phoronix.com/news/Mesa-26.2-X11-Present-Timing", "Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git", "744ace5f-bd82-4cdb-a10c-42525d68f21b", "tXxYvOPlH1M", 678, false, "https://www.youtube.com/watch?v=tXxYvOPlH1M", 8, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git.NA", false, false, false, 43, [], 97, ~U[2026-06-22 08:17:45Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:34 Postmarket OS updates Linux Phones\n03:03 KDE Goals is open for submissions\n05:15 BcacheFS now no longer experimental\n06:59 Epic Games open sources new version control system\n09:41 Mesa 26.2 improves frame pacing and stutters in game\n\nLinks\n\nPostmarket OS updates Linux Phones\nhttps://linuxiac.com/postmarketos-26-06-brings-fresh-linux-phone-updates/\n\nKDE Goals is open for submissions\nhttps://blogs.kde.org/2026/06/20/kde-goals-call-for-submissions/\n\nBcacheFS now no longer experimental\nhttps://linuxiac.com/bcachefs-is-no-longer-experimental-but-caution-still-applies/\n\nEpic Games open sources new version control system\nhttps://linuxiac.com/epic-games-open-sources-lore-version-control-system/\n\nMesa 26.2 improves frame pacing and stutters in game\nhttps://www.phoronix.com/news/Mesa-26.2-X11-Present-Timing", "Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git", "tXxYvOPlH1M", 678, false, "https://www.youtube.com/watch?v=tXxYvOPlH1M", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Daily Linux News - S03E116 - KDE Goals open, Epic makes their own Git.NA", false, 43, ~U[2026-06-22 08:17:45Z]] 07:54:23.077 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [43] 07:54:23.081 [debug] QUERY OK source="media_items" db=3.5ms idle=6.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-22 06:26:30Z], 43] 07:54:23.082 [debug] QUERY OK source="media_items" db=0.6ms idle=9.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:50 Ubuntu Touch improvements\n10:13 GNOME Foundation issues", "Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues", "4de4b5d5-fb27-4dbe-8a68-cb77fd5de3ef", "aXHR7jvC000", 1377, false, "https://www.youtube.com/watch?v=aXHR7jvC000", 9, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues.NA", false, false, false, 43, [], 97, ~U[2026-06-22 06:26:30Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:50 Ubuntu Touch improvements\n10:13 GNOME Foundation issues", "Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues", "aXHR7jvC000", 1377, false, "https://www.youtube.com/watch?v=aXHR7jvC000", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062200_Patroncast S06E24 - Ubuntu Touch Improved massively in a week & my opinion on the GNOME issues.NA", false, 43, ~U[2026-06-22 06:26:30Z]] 07:54:23.083 [debug] QUERY OK source="sources" db=0.5ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.086 [debug] QUERY OK source="media_items" db=3.5ms idle=6.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-20 08:36:08Z], 43] 07:54:23.088 [debug] QUERY OK source="media_items" db=1.3ms idle=9.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT \n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:42 Sponsor: SquareSpace\n02:01 GNOME Foundation issues and lack of transparency\n09:34 AUR compromised with malware and spam\n12:57 Mozilla shares big Firefox roadmap\n15:54 X11 server rewritten using Rust and AI\n17:33 Linux kernel 7.1 released\n19:03 Chrome removes manifest v2 support entirely\n20:39 Firefox for Android will rely on Google Play integrity API\n22:29 Plasma 6.7 released\n24:27 SonicDE forks KDE into an X11 desktop\n26:24 More details on Ubuntu's AI features\n28:21 The EU won't stop killing videogames\n31:06 Sponsor: Tuxedo oOmputers\n\n\nLinks:\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31\n\nAUR compromised with malware and spam\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles", "70e30a50-62e5-416d-8884-dd6ae33565e0", "gxzle1WPTos", 1979, false, "https://www.youtube.com/watch?v=gxzle1WPTos", 10, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062000_Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles.mp4", false, false, false, 43, [], 98, ~U[2026-06-20 08:36:08Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT \n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:42 Sponsor: SquareSpace\n02:01 GNOME Foundation issues and lack of transparency\n09:34 AUR compromised with malware and spam\n12:57 Mozilla shares big Firefox roadmap\n15:54 X11 server rewritten using Rust and AI\n17:33 Linux kernel 7.1 released\n19:03 Chrome removes manifest v2 support entirely\n20:39 Firefox for Android will rely on Google Play integrity API\n22:29 Plasma 6.7 released\n24:27 SonicDE forks KDE into an X11 desktop\n26:24 More details on Ubuntu's AI features\n28:21 The EU won't stop killing videogames\n31:06 Sponsor: Tuxedo oOmputers\n\n\nLinks:\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31\n\nAUR compromised with malware and spam\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles", "gxzle1WPTos", 1979, false, "https://www.youtube.com/watch?v=gxzle1WPTos", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e062000_Linux News - Firefox has big plans, Arch under attack & GNOME Foundation troubles.mp4", false, 43, ~U[2026-06-20 08:36:08Z]] 07:54:23.089 [debug] QUERY OK source="sources" db=0.5ms idle=7.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.093 [debug] QUERY OK source="media_items" db=3.5ms idle=7.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-19 08:24:09Z], 43] 07:54:23.094 [debug] QUERY OK source="media_items" db=0.8ms idle=10.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS updates indicates Steam machine isn't far\n02:01 Mozilla shares big Firefox roadmap\n06:20 Ubuntu flavours now have to release betas\n\nLinks:\nSteamOS updates indicates Steam machine isn't far\nhttps://steamcommunity.com/games/1675200/announcements/detail/697641379212298073\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nUbuntu flavours now have to release betas\nhttps://lists.ubuntu.com/archives/ubuntu-release/2026-June/006814.html", "Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap", "82a7049a-15c8-4dca-a29d-f5b8a341a831", "WfFe2-Uy2Fo", 561, false, "https://www.youtube.com/watch?v=WfFe2-Uy2Fo", 11, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061900_Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap.NA", false, false, false, 43, [], 98, ~U[2026-06-19 08:24:09Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 SteamOS updates indicates Steam machine isn't far\n02:01 Mozilla shares big Firefox roadmap\n06:20 Ubuntu flavours now have to release betas\n\nLinks:\nSteamOS updates indicates Steam machine isn't far\nhttps://steamcommunity.com/games/1675200/announcements/detail/697641379212298073\n\nMozilla shares big Firefox roadmap\nhttps://blog.mozilla.org/en/firefox/firefox-roadmap-152/\nhttps://www.firefox.com/en-US/whatsnext/\n\nUbuntu flavours now have to release betas\nhttps://lists.ubuntu.com/archives/ubuntu-release/2026-June/006814.html", "Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap", "WfFe2-Uy2Fo", 561, false, "https://www.youtube.com/watch?v=WfFe2-Uy2Fo", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061900_Daily Linux News - S03E115 - SteamOS update, Firefox's big roadmap.NA", false, 43, ~U[2026-06-19 08:24:09Z]] 07:54:23.095 [debug] QUERY OK source="sources" db=0.5ms idle=7.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.098 [debug] QUERY OK source="media_items" db=3.3ms idle=6.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-18 07:28:09Z], 43] 07:54:23.099 [debug] QUERY OK source="media_items" db=0.9ms idle=9.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Arch adds some security features to their AUR helper\n02:59 More details on Ubuntu's AI features\n05:17 Wine Wayland driver makes progress\n07:44 Audacity 4 beta released\n\nLinks:\nArch adds some security features to their AUR helper\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nWine Wayland driver makes progress\nhttps://www.phoronix.com/news/Wine-11.11-Released\nhttps://gitlab.winehq.org/wine/wine/-/merge_requests/11101\n\nAudacity 4 beta released\nhttps://www.omgubuntu.co.uk/2026/06/audacity-4-0-beta", "Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4", "e02c2e7c-5085-4383-ad5e-bd08a9a9af11", "10t33nUtCow", 650, false, "https://www.youtube.com/watch?v=10t33nUtCow", 12, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061800_Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4.NA", false, false, false, 43, [], 98, ~U[2026-06-18 07:28:09Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Arch adds some security features to their AUR helper\n02:59 More details on Ubuntu's AI features\n05:17 Wine Wayland driver makes progress\n07:44 Audacity 4 beta released\n\nLinks:\nArch adds some security features to their AUR helper\nhttps://linuxiac.com/yay-13-0-adds-new-review-and-automation-features/\n\nMore details on Ubuntu's AI features\nhttps://discourse.ubuntu.com/t/introducing-myna-speech-to-text-for-ubuntu-desktop/84251\n\nWine Wayland driver makes progress\nhttps://www.phoronix.com/news/Wine-11.11-Released\nhttps://gitlab.winehq.org/wine/wine/-/merge_requests/11101\n\nAudacity 4 beta released\nhttps://www.omgubuntu.co.uk/2026/06/audacity-4-0-beta", "Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4", "10t33nUtCow", 650, false, "https://www.youtube.com/watch?v=10t33nUtCow", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061800_Daily Linux News - S03E114 - Ubuntu's AI speech to text, Wine Wayland driver, Audacity 4.NA", false, 43, ~U[2026-06-18 07:28:09Z]] 07:54:23.100 [debug] QUERY OK source="sources" db=0.5ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.104 [debug] QUERY OK source="media_items" db=3.5ms idle=6.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-17 10:34:57Z], 43] 07:54:23.105 [debug] QUERY OK source="media_items" db=0.7ms idle=9.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Plasma 6.7 released\n03:18 Big update on Oxygen and Air theme for KDE\n06:12 AUR infected by spam messages and insults\n08:09 The EU won't stop killing videogames\n\nLinks:\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nBig update on Oxygen and Air theme for KDE\nhttps://filipfila.wordpress.com/2026/06/16/oxygen-6-7-is-here-a-breath-of-fresh-air-for-kdes-classic-theme/\n\nAUR infected by spam messages and insults\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames", "7d453978-ad1c-4122-8b6a-b78a398cc6f1", "VgRZUNhID6w", 729, false, "https://www.youtube.com/watch?v=VgRZUNhID6w", 13, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061700_Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames.NA", false, false, false, 43, [], 98, ~U[2026-06-17 10:34:57Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Plasma 6.7 released\n03:18 Big update on Oxygen and Air theme for KDE\n06:12 AUR infected by spam messages and insults\n08:09 The EU won't stop killing videogames\n\nLinks:\n\nPlasma 6.7 released\nhttps://youtu.be/5qJSapprdSQ\n\nBig update on Oxygen and Air theme for KDE\nhttps://filipfila.wordpress.com/2026/06/16/oxygen-6-7-is-here-a-breath-of-fresh-air-for-kdes-classic-theme/\n\nAUR infected by spam messages and insults\nhttps://www.phoronix.com/news/Arch-Linux-AUR-Russian-Spam\n\nThe EU won't stop killing videogames\nhttps://www.gamingonlinux.com/2026/06/european-commission-rejects-new-laws-for-stop-destroying-videogames/", "Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames", "VgRZUNhID6w", 729, false, "https://www.youtube.com/watch?v=VgRZUNhID6w", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061700_Daily Linux News - S03E113 - Plasma 6.7, EU won't stop killing videogames.NA", false, 43, ~U[2026-06-17 10:34:57Z]] 07:54:23.106 [debug] QUERY OK source="sources" db=0.5ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.109 [debug] QUERY OK source="media_items" db=3.4ms idle=6.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 11:11:56Z], 43] 07:54:23.110 [debug] QUERY OK source="media_items" db=0.8ms idle=9.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Try out Joplin, one of the best Open Source Note taking apps: https://joplinapp.org/?source=TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:29 Sponsor: Joplin\n01:57 Per Monitor desktops\n03:16 Performance improvements\n04:18 Visual changes\n07:38 Better Keyboard input\n08:55 Plasma Widgets\n12:54 Global Push to Talk & other changes\n15:36 Kwin Changes & Wayland support\n19:12 Settings changes\n20:54 App Changes\n23:18 Conclusion\n24:45 Sponsor: Tuxedo Computers\n\n#linuxdesktop #kdeplasma #linuxdistro", "KDE Plasma 6.7 review: still the best Linux Desktop IMO", "26770874-db59-47ff-b42e-eee33098b42c", "5qJSapprdSQ", 1574, false, "https://www.youtube.com/watch?v=5qJSapprdSQ", 14, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_KDE Plasma 6.7 review: still the best Linux Desktop IMO.mp4", false, false, false, 43, [], 97, ~U[2026-06-16 11:11:56Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "Try out Joplin, one of the best Open Source Note taking apps: https://joplinapp.org/?source=TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:29 Sponsor: Joplin\n01:57 Per Monitor desktops\n03:16 Performance improvements\n04:18 Visual changes\n07:38 Better Keyboard input\n08:55 Plasma Widgets\n12:54 Global Push to Talk & other changes\n15:36 Kwin Changes & Wayland support\n19:12 Settings changes\n20:54 App Changes\n23:18 Conclusion\n24:45 Sponsor: Tuxedo Computers\n\n#linuxdesktop #kdeplasma #linuxdistro", "KDE Plasma 6.7 review: still the best Linux Desktop IMO", "5qJSapprdSQ", 1574, false, "https://www.youtube.com/watch?v=5qJSapprdSQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_KDE Plasma 6.7 review: still the best Linux Desktop IMO.mp4", false, 43, ~U[2026-06-16 11:11:56Z]] 07:54:23.111 [debug] QUERY OK source="sources" db=0.5ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.115 [debug] QUERY OK source="media_items" db=3.5ms idle=6.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 08:04:46Z], 43] 07:54:23.116 [debug] QUERY OK source="media_items" db=0.7ms idle=9.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine release date leaked\n01:40 Ubuntu Touch update fixes some of the problems I had\n03:41 SonicDE forks KDE into an X11 desktop\n05:51 GNOME Foundation issues and lack of transparency\n\nLinks:\nSteam machine release date leaked\nhttps://goodtech.info/valve-steamos-beta-leak-hardware-steam-machine/\n\nUbuntu Touch update fixes some of the problems I had\nhttps://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-2-0-beta-is-now-ready-for-testing-4000\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31", "Daily Linux News - S03E112 - My take on the GNOME Foundation stuff", "7fa074a7-9f92-4152-9f6d-4f88a669e247", "8IB2ysqfIps", 918, false, "https://www.youtube.com/watch?v=8IB2ysqfIps", 15, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_Daily Linux News - S03E112 - My take on the GNOME Foundation stuff.NA", false, false, false, 43, [], 97, ~U[2026-06-16 08:04:46Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:05 Steam machine release date leaked\n01:40 Ubuntu Touch update fixes some of the problems I had\n03:41 SonicDE forks KDE into an X11 desktop\n05:51 GNOME Foundation issues and lack of transparency\n\nLinks:\nSteam machine release date leaked\nhttps://goodtech.info/valve-steamos-beta-leak-hardware-steam-machine/\n\nUbuntu Touch update fixes some of the problems I had\nhttps://ubports.com/blog/ubports-news-1/ubuntu-touch-24-04-2-0-beta-is-now-ready-for-testing-4000\n\nSonicDE forks KDE into an X11 desktop\nhttps://itsfoss.com/sonicde-x11-kde-plasma-fork/\n\nGNOME Foundation issues and lack of transparency\nhttps://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308/31", "Daily Linux News - S03E112 - My take on the GNOME Foundation stuff", "8IB2ysqfIps", 918, false, "https://www.youtube.com/watch?v=8IB2ysqfIps", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061600_Daily Linux News - S03E112 - My take on the GNOME Foundation stuff.NA", false, 43, ~U[2026-06-16 08:04:46Z]] 07:54:23.117 [debug] QUERY OK source="sources" db=0.5ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.121 [debug] QUERY OK source="media_items" db=3.6ms idle=6.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-15 11:11:26Z], 43] 07:54:23.122 [debug] QUERY OK source="media_items" db=1.4ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:20 X11 server rewritten using Rust and AI\n02:47 LadyBird browser shuts down external contributions\n04:45 Document Foundation keeps attacking other suites\n10:07 1500 AUR packages compromised\n13:12 Fedora bug tracker gets infected by an AI bot\n15:20 Microsoft's SecureBoot key expires, action might be required\n17:31 Linux kernel 7.1 released\n19:12 eOS 4.0 adds a ton of stuff to the degoogled ROM\n22:57 Chrome removes manifest v2 support entirely\n24:14 Firefox for Android will rely on Google Play integrity API\n\nLinks:\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLadyBird browser shuts down external contributions\nhttps://ladybird.org/posts/changing-how-we-develop-ladybird/\n\nDocument Foundation keeps attacking other suites\nhttps://www.omgubuntu.co.uk/2026/06/libreoffice-tabbed-ui-backgrounds\nhttps://blog.documentfoundation.org/blog/2026/06/08/an-open-letter/\n\n1500 AUR packages compromised\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\n\nFedora bug tracker gets infected by an AI bot\nhttps://itsfoss.com/news/fedora-bug-tracker-infiltrated-by-ai-agent/\n\nMicrosoft's SecureBoot key expires, action might be required\nhttps://fedoramagazine.org/expiration-of-microsoft-secure-boot-keys/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\neOS 4.0 adds a ton of stuff to the degoogled ROM\nhttps://murena.com/meet-e-os-4-0/\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity", "Daily Linux News - S03E111 - A big catchup episode !", "9a1d6b82-ad20-4319-b496-5c452b844bac", "KjC4jWQwxhc", 1664, false, "https://www.youtube.com/watch?v=KjC4jWQwxhc", 16, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Daily Linux News - S03E111 - A big catchup episode !.NA", false, false, false, 43, [], 97, ~U[2026-06-15 11:11:26Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:20 X11 server rewritten using Rust and AI\n02:47 LadyBird browser shuts down external contributions\n04:45 Document Foundation keeps attacking other suites\n10:07 1500 AUR packages compromised\n13:12 Fedora bug tracker gets infected by an AI bot\n15:20 Microsoft's SecureBoot key expires, action might be required\n17:31 Linux kernel 7.1 released\n19:12 eOS 4.0 adds a ton of stuff to the degoogled ROM\n22:57 Chrome removes manifest v2 support entirely\n24:14 Firefox for Android will rely on Google Play integrity API\n\nLinks:\nX11 server rewritten using Rust and AI\nhttps://itsfoss.com/news/yserver/\n\nLadyBird browser shuts down external contributions\nhttps://ladybird.org/posts/changing-how-we-develop-ladybird/\n\nDocument Foundation keeps attacking other suites\nhttps://www.omgubuntu.co.uk/2026/06/libreoffice-tabbed-ui-backgrounds\nhttps://blog.documentfoundation.org/blog/2026/06/08/an-open-letter/\n\n1500 AUR packages compromised\nhttps://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency\n\nFedora bug tracker gets infected by an AI bot\nhttps://itsfoss.com/news/fedora-bug-tracker-infiltrated-by-ai-agent/\n\nMicrosoft's SecureBoot key expires, action might be required\nhttps://fedoramagazine.org/expiration-of-microsoft-secure-boot-keys/\n\nLinux kernel 7.1 released\nhttps://www.phoronix.com/review/linux-71-features-changes\n\neOS 4.0 adds a ton of stuff to the degoogled ROM\nhttps://murena.com/meet-e-os-4-0/\n\nChrome removes manifest v2 support entirely\nhttps://linuxiac.com/chrome-closes-another-door-on-classic-ublock-origin/\n\nFirefox for Android will rely on Google Play integrity API\nhttps://www.omgubuntu.co.uk/2026/06/mozilla-firefox-android-google-play-integrity", "Daily Linux News - S03E111 - A big catchup episode !", "KjC4jWQwxhc", 1664, false, "https://www.youtube.com/watch?v=KjC4jWQwxhc", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Daily Linux News - S03E111 - A big catchup episode !.NA", false, 43, ~U[2026-06-15 11:11:26Z]] 07:54:23.123 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.126 [debug] QUERY OK source="media_items" db=3.4ms idle=6.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-15 08:36:27Z], 43] 07:54:23.127 [debug] QUERY OK source="media_items" db=0.5ms idle=6.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestmaps:\n00:00 Intro\n00:05 My vacation\n11:30 2 Weeks with Ubuntu Touch", "Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch", "9f6ed6b7-0c78-4306-bdd6-578035331706", "cPhk9LaU24M", 1642, false, "https://www.youtube.com/watch?v=cPhk9LaU24M", 17, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch.NA", false, false, false, 43, [], 97, ~U[2026-06-15 08:36:27Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestmaps:\n00:00 Intro\n00:05 My vacation\n11:30 2 Weeks with Ubuntu Touch", "Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch", "cPhk9LaU24M", 1642, false, "https://www.youtube.com/watch?v=cPhk9LaU24M", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061500_Patroncast S06E23 - Vacation & 2 weeks with Ubuntu Touch.NA", false, 43, ~U[2026-06-15 08:36:27Z]] 07:54:23.128 [debug] QUERY OK source="sources" db=0.5ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.131 [debug] QUERY OK source="media_items" db=3.2ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-11 11:13:50Z], 43] 07:54:23.133 [debug] QUERY OK source="media_items" db=0.8ms idle=8.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Use a secure, encrypted, and fast VPN with Proton VPN: https://protonvpn.com/TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:43 Sponsor: ProtonVPN\n01:41 Mouse Tiler: auto-tiling for KDE\n06:35 Other Scripts\n08:00 Plasma Layout & Applets\n11:43 Themes & Icons\n15:57 Activities\n18:46 Sponsor: Tuxedo Computers\n\n#kdeplasma #linuxdesktop #ricing", "How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites..", "3a737feb-b942-4eb2-8755-5cbaac36b4db", "UUn-7H35cFQ", 1194, false, "https://www.youtube.com/watch?v=UUn-7H35cFQ", 18, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061100_How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites...mp4", false, false, false, 43, [], 98, ~U[2026-06-11 11:13:50Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "Use a secure, encrypted, and fast VPN with Proton VPN: https://protonvpn.com/TheLinuxEXP\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:43 Sponsor: ProtonVPN\n01:41 Mouse Tiler: auto-tiling for KDE\n06:35 Other Scripts\n08:00 Plasma Layout & Applets\n11:43 Themes & Icons\n15:57 Activities\n18:46 Sponsor: Tuxedo Computers\n\n#kdeplasma #linuxdesktop #ricing", "How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites..", "UUn-7H35cFQ", 1194, false, "https://www.youtube.com/watch?v=UUn-7H35cFQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e061100_How I customized my KDE Desktop: Auto tiling, theme, icons, layout, activites...mp4", false, 43, ~U[2026-06-11 11:13:50Z]] 07:54:23.133 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [43] 07:54:23.137 [debug] QUERY OK source="media_items" db=3.4ms idle=6.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-06 08:51:30Z], 43] 07:54:23.139 [debug] QUERY OK source="media_items" db=1.3ms idle=9.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:45 Sponsor: SquareSpace\n02:21 EU parliament ditches Google for Qwant\n03:47 EU unveils their plan to ditch Big Tech\n07:12 Brave launches debloated version for $60USD\n09:33 Canonical takes over the maintenance of Flutter on Desktop\n11:08 Ubuntu has a big desktop roadmap\n16:00 X11 disappears in 5 months on Plasma\n17:56 Acer launches Debian based handheld\n19:16 Microsoft adds the Linux core utilities to Windows\n20:34 Microsoft will de-activate older Office suites people bought\n22:09 Steam machine and Frame planned for summer release\n23:26 Proton Drive gets faster + Linux client in the works\n24:49 UK orders Google to have attribution and opt-outs for AI summaries\n28:03 Sponsor: Tuxedo Computers\n\nLinks:\nEU parliament ditches Google for Qwant\nhttps://www.politico.eu/article/european-parliament-ditches-google-for-french-search-engine/\n\nEU unveils their plan to ditch Big Tech\nhttps://www.politico.eu/article/eu-plots-long-game-against-us-digital-supremacy/\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/\n\nCanonical takes over the maintenance of Flutter on Desktop\nhttps://www.omgubuntu.co.uk/2026/05/flutter-desktop-canonical-maintained\n\nUbuntu has a big desktop roadmap\nhttps://www.omgubuntu.co.uk/2026/06/ubuntu-speech-to-text-ai\nhttps://discourse.ubuntu.com/t/ubuntu-desktop-26-10-stonking-stingray-roadmap-building-toward-ubuntu-28-04-lts/83751\n\nX11 disappears in 5 months on Plasma\nhttps://blog.davidedmundson.co.uk/blog/596/\n\nAcer launches Debian based handheld\nhttps://www.cnet.com/tech/gaming/acer-nitro-blaze-link-remote-play-handheld-acers-computex-launches/\nhttps://www.pcmag.com/news/acer-launching-streaming-only-handheld-gaming-pc\n\nMicrosoft adds the Linux core utilities to Windows\nhttps://itsfoss.com/news/windows-coreutils/\n\nMicrosoft will de-activate older Office suites people bought\nhttps://consumerrights.wiki/w/Microsoft_Office_2019_and_2021_for_Mac_view-only_conversion_(2026)#cite_note-ms-learn-cert-1\n\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nProton Drive gets faster + Linux client in the works\nhttps://proton.me/blog/drive-sdk-june-2026\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\n#technews #linuxnews #linuxdesktop", "Linux News - Ubuntu is making big desktop moves", "70f1c6bc-78d8-4a2a-aabd-340c68778f7e", "CQ2Pb0YNeqE", 1781, false, "https://www.youtube.com/watch?v=CQ2Pb0YNeqE", 19, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060600_Linux News - Ubuntu is making big desktop moves.mp4", false, false, false, 43, [], 98, ~U[2026-06-06 08:51:30Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "Head to https://squarespace.com/thelinuxexperiment to save 10% off your first purchase of a website or domain using code THELINUXEXPERIMENT\n\nGrab a brand new laptop or desktop running Linux: https://www.tuxedocomputers.com/en#\n\n\n👏 SUPPORT THE CHANNEL:\nGet access to:\n- a Daily Linux News show\n- a weekly patroncast for more thoughts\n- your name in the credits\n\nYouTube: https://www.youtube.com/@TheLinuxEXP/join\nPatreon: https://www.patreon.com/thelinuxexperiment\n\nOr, you can donate whatever you want:\nhttps://paypal.me/thelinuxexp\nLiberapay: https://liberapay.com/TheLinuxExperiment/\n\n👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:45 Sponsor: SquareSpace\n02:21 EU parliament ditches Google for Qwant\n03:47 EU unveils their plan to ditch Big Tech\n07:12 Brave launches debloated version for $60USD\n09:33 Canonical takes over the maintenance of Flutter on Desktop\n11:08 Ubuntu has a big desktop roadmap\n16:00 X11 disappears in 5 months on Plasma\n17:56 Acer launches Debian based handheld\n19:16 Microsoft adds the Linux core utilities to Windows\n20:34 Microsoft will de-activate older Office suites people bought\n22:09 Steam machine and Frame planned for summer release\n23:26 Proton Drive gets faster + Linux client in the works\n24:49 UK orders Google to have attribution and opt-outs for AI summaries\n28:03 Sponsor: Tuxedo Computers\n\nLinks:\nEU parliament ditches Google for Qwant\nhttps://www.politico.eu/article/european-parliament-ditches-google-for-french-search-engine/\n\nEU unveils their plan to ditch Big Tech\nhttps://www.politico.eu/article/eu-plots-long-game-against-us-digital-supremacy/\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/\n\nCanonical takes over the maintenance of Flutter on Desktop\nhttps://www.omgubuntu.co.uk/2026/05/flutter-desktop-canonical-maintained\n\nUbuntu has a big desktop roadmap\nhttps://www.omgubuntu.co.uk/2026/06/ubuntu-speech-to-text-ai\nhttps://discourse.ubuntu.com/t/ubuntu-desktop-26-10-stonking-stingray-roadmap-building-toward-ubuntu-28-04-lts/83751\n\nX11 disappears in 5 months on Plasma\nhttps://blog.davidedmundson.co.uk/blog/596/\n\nAcer launches Debian based handheld\nhttps://www.cnet.com/tech/gaming/acer-nitro-blaze-link-remote-play-handheld-acers-computex-launches/\nhttps://www.pcmag.com/news/acer-launching-streaming-only-handheld-gaming-pc\n\nMicrosoft adds the Linux core utilities to Windows\nhttps://itsfoss.com/news/windows-coreutils/\n\nMicrosoft will de-activate older Office suites people bought\nhttps://consumerrights.wiki/w/Microsoft_Office_2019_and_2021_for_Mac_view-only_conversion_(2026)#cite_note-ms-learn-cert-1\n\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nProton Drive gets faster + Linux client in the works\nhttps://proton.me/blog/drive-sdk-june-2026\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\n#technews #linuxnews #linuxdesktop", "Linux News - Ubuntu is making big desktop moves", "CQ2Pb0YNeqE", 1781, false, "https://www.youtube.com/watch?v=CQ2Pb0YNeqE", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060600_Linux News - Ubuntu is making big desktop moves.mp4", false, 43, ~U[2026-06-06 08:51:30Z]] 07:54:23.139 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:23.143 [debug] QUERY OK source="media_items" db=3.4ms idle=6.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-05 09:46:26Z], 43] 07:54:23.144 [debug] QUERY OK source="media_items" db=0.8ms idle=9.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:27 Steam machine and Frame planned for summer release\n02:08 More Apple Silicon work upstreamed to Linux\n03:40 UK orders Google to have attribution and opt-outs for AI summaries\n07:08 Browser manufacturers ask Microsoft to open browser choice\n09:15 Brave launches debloated version for $60USD\n\n\n\nLinks:\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nMore Apple Silicon work upstreamed to Linux\nhttps://www.phoronix.com/news/Linux-7.2-Boots-Apple-M3\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\nBrowser manufacturers ask Microsoft to open browser choice\nhttps://browserchoicealliance.org/open-letter/\nhttps://gs.statcounter.com/browser-market-share/desktop/worldwide/#monthly-202505-202605\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/", "Daily Linux News - S03E110 - UK orders Google to fix their AI practices, Brave launches paid browser", "efc2356f-d25f-4d49-abd7-8ec69f9447ac", "RWtp6WwcB2k", 784, false, "https://www.youtube.com/watch?v=RWtp6WwcB2k", 20, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060500_Daily Linux News - S03E110 - UK orders Google to fix their AI practices, Brave launches paid browser.NA", false, false, false, 43, [], 98, ~U[2026-06-05 09:46:26Z], ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:27 Steam machine and Frame planned for summer release\n02:08 More Apple Silicon work upstreamed to Linux\n03:40 UK orders Google to have attribution and opt-outs for AI summaries\n07:08 Browser manufacturers ask Microsoft to open browser choice\n09:15 Brave launches debloated version for $60USD\n\n\n\nLinks:\nSteam machine and Frame planned for summer release\nhttps://steamcommunity.com/groups/steamworks/announcements/detail/716780409378048028\n\nMore Apple Silicon work upstreamed to Linux\nhttps://www.phoronix.com/news/Linux-7.2-Boots-Apple-M3\n\nUK orders Google to have attribution and opt-outs for AI summaries\nhttps://arstechnica.com/tech-policy/2026/06/google-ordered-to-put-clearer-links-in-ai-search-and-let-uk-publishers-opt-out/\n\nBrowser manufacturers ask Microsoft to open browser choice\nhttps://browserchoicealliance.org/open-letter/\nhttps://gs.statcounter.com/browser-market-share/desktop/worldwide/#monthly-202505-202605\n\nBrave launches debloated version for $60USD\nhttps://brave.com/blog/brave-origin/", "Daily Linux News - S03E110 - UK orders Google to fix their AI practices, Brave launches paid browser", "RWtp6WwcB2k", 784, false, "https://www.youtube.com/watch?v=RWtp6WwcB2k", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e060500_Daily Linux News - S03E110 - UK orders Google to fix their AI practices, Brave launches paid browser.NA", false, 43, ~U[2026-06-05 09:46:26Z]] 07:54:23.145 [debug] QUERY OK source="sources" db=0.4ms idle=7.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z], 43] 07:54:23.150 [debug] QUERY OK source="media_items" db=4.9ms idle=6.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [43] 07:54:23.157 [debug] QUERY OK source="tasks" db=0.1ms idle=12.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419872, 1012059, ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z]] 07:54:23.164 [info] {"args":{"id":1012059},"id":419872,"meta":{},"system_time":1782737663164027145,"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"]} 07:54:23.164 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1012059] 07:54:23.164 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:54:23.165 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [43] 07:54:23.166 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:54:23.166 [debug] QUERY OK source="media_items" db=0.3ms 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 [1012059] 07:54:23.168 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1012059] 07:54:23.168 [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] 07:54:23.169 [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 [] 07:54:23.169 [debug] QUERY OK source="settings" db=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:54:23.169 [debug] Running yt-dlp command for action: get_downloadable_status 07:54:23.170 [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 [] 07:54:23.170 [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 [] 07:54:23.170 [debug] QUERY OK source="settings" db=0.2ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:54:23.170 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c2/0b/c20bf886dc1916a3b3ce48a965eea04de73542735c7c9a9e8f82df4f8afb7695.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:54:23.358 [debug] QUERY OK source="media_items" db=3.6ms 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")))) [43] 07:54:23.359 [debug] QUERY OK source="media_items" db=0.3ms idle=4.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [43] 07:54:23.360 [debug] QUERY OK source="tasks" db=0.2ms idle=5.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419873, 43, ~U[2026-06-29 12:54:23Z], ~U[2026-06-29 12:54:23Z]] 07:54:23.361 [info] {"args":{"id":43},"id":419780,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":25271534,"event":"job:stop","queue_time":625297,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 07:54:23.456 [info] {"source":"oban","duration":8064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:24.870 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c2/0b/c20bf886dc1916a3b3ce48a965eea04de73542735c7c9a9e8f82df4f8afb7695.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:54:24.871 [error] yt-dlp download error for media item #1012059: "ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:54:24.871 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012059},"id":419872,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1707152,"event":"job:exception","queue_time":162936,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:54:35.145 [info] {"args":{"id":45},"id":419781,"meta":{},"system_time":1782737675145221118,"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"]} 07:54:35.145 [debug] QUERY OK source="sources" db=0.1ms idle=1008.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:54:35.146 [debug] QUERY OK source="settings" db=0.1ms idle=988.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:54:35.147 [debug] QUERY OK source="media_items" db=1.4ms idle=989.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")))) [45] 07:54:35.147 [debug] QUERY OK source="media_items" db=0.2ms idle=9.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [45] 07:54:35.148 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:54:35.148 [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 [] 07:54:35.148 [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 [] 07:54:35.150 [debug] QUERY OK source="media_items" db=1.0ms 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 [45] 07:54:35.152 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 07:54:35.152 [debug] Current batch of media processed. Will check again in 1000ms 07:54:35.152 [debug] QUERY OK source="settings" db=0.0ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:54:35.152 [debug] QUERY OK source="settings" db=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:54:35.152 [debug] QUERY OK source="settings" db=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:54:35.152 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/channel/UC7YOGHUfC1Tb6E4pudI9STA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/e6/a3/e6a397c73d364cd8698a4af1238934a4aabf4b75a1c8f4399b9112f20bf835d3.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/8e/db/8edb3b5ed89e3fadaba2b46977d846328c17d322aa19975b10f165d19f188178.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:54:36.153 [debug] Current batch of media processed. Will check again in 1000ms 07:54:37.153 [debug] Current batch of media processed. Will check again in 1000ms 07:54:38.155 [debug] Current batch of media processed. Will check again in 1000ms 07:54:39.156 [debug] Current batch of media processed. Will check again in 1000ms 07:54:40.157 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how apps on smartTV's are being used to setup stealthy residential proxies to support botnets using the TV owners home internet connection.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 617, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e062500_Your TV Might Be Part Of A Botnet.mp4", "id" => "tu4pvV9pqoY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tu4pvV9pqoY", "playlist_index" => 1, "timestamp" => 1782430242, "title" => "Your TV Might Be Part Of A Botnet", "upload_date" => "20260625"} 07:54:40.157 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [45] 07:54:40.158 [debug] QUERY OK source="sources" db=0.1ms idle=0.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:54:40.160 [debug] QUERY OK source="media_items" db=1.8ms 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-06-25 23:30:42Z], 45] 07:54:40.161 [debug] QUERY OK source="media_items" db=0.9ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how apps on smartTV's are being used to setup stealthy residential proxies to support botnets using the TV owners home internet connection.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your TV Might Be Part Of A Botnet", "336570b7-1968-4f07-9aee-812035cd2fcb", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", 1, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e062500_Your TV Might Be Part Of A Botnet.mp4", false, false, false, 45, [], 98, ~U[2026-06-25 23:30:42Z], ~U[2026-06-29 12:54:40Z], ~U[2026-06-29 12:54:40Z], "In this video I discuss how apps on smartTV's are being used to setup stealthy residential proxies to support botnets using the TV owners home internet connection.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your TV Might Be Part Of A Botnet", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e062500_Your TV Might Be Part Of A Botnet.mp4", false, 45, ~U[2026-06-25 23:30:42Z]] 07:54:40.161 [debug] QUERY OK source="sources" db=0.1ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:54:40.162 [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] 07:54:40.162 [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 [3284625] 07:54:40.162 [debug] Current batch of media processed. Will check again in 1000ms 07:54:41.163 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I explain how a security researcher discovered an exploit in Creative's Sound Blaster Katana V2X soundbar that allows someone to install custom firmware to the speaker over an unauthenticated bluetooth connection to turn the speaker into a surveillance device or HID that can send commands to your computer.\n\nRead the security researchers write up on the issue here\nhttps://blog.nns.ee/2026/06/03/katana-badusb/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 663, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e061600_When Your Computer Gets Hacked Through A Bluetooth Speaker.mp4", "id" => "FNMOLizFL2s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FNMOLizFL2s", "playlist_index" => 2, "timestamp" => 1781568506, "title" => "When Your Computer Gets Hacked Through A Bluetooth Speaker", "upload_date" => "20260616"} 07:54:41.164 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=1002.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:54:41.165 [debug] QUERY OK source="sources" db=0.1ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:54:41.166 [debug] QUERY OK source="media_items" db=1.3ms idle=1003.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-16 00:08:26Z], 45] 07:54:41.167 [debug] QUERY OK source="media_items" db=0.8ms idle=1004.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I explain how a security researcher discovered an exploit in Creative's Sound Blaster Katana V2X soundbar that allows someone to install custom firmware to the speaker over an unauthenticated bluetooth connection to turn the speaker into a surveillance device or HID that can send commands to your computer.\n\nRead the security researchers write up on the issue here\nhttps://blog.nns.ee/2026/06/03/katana-badusb/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When Your Computer Gets Hacked Through A Bluetooth Speaker", "f2cdf45b-9206-47e8-bff1-a63581427bdf", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", 2, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e061600_When Your Computer Gets Hacked Through A Bluetooth Speaker.mp4", false, false, false, 45, [], 98, ~U[2026-06-16 00:08:26Z], ~U[2026-06-29 12:54:41Z], ~U[2026-06-29 12:54:41Z], "In this video I explain how a security researcher discovered an exploit in Creative's Sound Blaster Katana V2X soundbar that allows someone to install custom firmware to the speaker over an unauthenticated bluetooth connection to turn the speaker into a surveillance device or HID that can send commands to your computer.\n\nRead the security researchers write up on the issue here\nhttps://blog.nns.ee/2026/06/03/katana-badusb/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When Your Computer Gets Hacked Through A Bluetooth Speaker", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e061600_When Your Computer Gets Hacked Through A Bluetooth Speaker.mp4", false, 45, ~U[2026-06-16 00:08:26Z]] 07:54:41.167 [debug] QUERY OK source="sources" db=0.1ms idle=22.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:54:41.168 [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] 07:54:41.168 [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 [3206020] 07:54:41.168 [debug] Current batch of media processed. Will check again in 1000ms 07:54:42.153 [info] {"args":{"id":1012059},"id":419872,"meta":{},"system_time":1782737682153803293,"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"]} 07:54:42.154 [debug] QUERY OK source="media_items" db=0.1ms idle=986.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" = ?) [1012059] 07:54:42.154 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:54:42.154 [debug] QUERY OK source="sources" db=0.1ms idle=986.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:54:42.155 [debug] QUERY OK source="media_profiles" db=0.1ms idle=986.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] 07:54:42.155 [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 [1012059] 07:54:42.156 [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" = ?) [1012059] 07:54:42.156 [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] 07:54:42.157 [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 [] 07:54:42.157 [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 [] 07:54:42.157 [debug] Running yt-dlp command for action: get_downloadable_status 07:54:42.158 [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 [] 07:54:42.158 [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 [] 07:54:42.158 [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 [] 07:54:42.159 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/b5/eab51757048ebfc47cde573a6db1c2e2d59bc927b875ddea3a4a9d0872efd4f6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:54:42.169 [debug] Current batch of media processed. Will check again in 1000ms 07:54:43.170 [debug] Current batch of media processed. Will check again in 1000ms 07:54:43.904 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/b5/eab51757048ebfc47cde573a6db1c2e2d59bc927b875ddea3a4a9d0872efd4f6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:54:43.904 [error] yt-dlp download error for media item #1012059: "ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:54:43.904 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012059},"id":419872,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1750579,"event":"job:exception","queue_time":281715,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:54:44.171 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 644, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", "id" => "fL9HzADcTsY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fL9HzADcTsY", "playlist_index" => 3, "timestamp" => 1780689201, "title" => "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "upload_date" => "20260605"} 07:54:44.171 [debug] QUERY OK source="sources" db=0.3ms idle=266.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:54:44.172 [debug] QUERY OK source="sources" db=0.3ms idle=260.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:54:44.174 [debug] QUERY OK source="media_items" db=1.5ms idle=23.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-05 19:53:21Z], 45] 07:54:44.177 [debug] QUERY OK source="media_items" db=2.7ms idle=17.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "2f488ed5-cd7b-4f00-b723-e590ceb75492", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", 3, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", false, false, false, 45, [], 98, ~U[2026-06-05 19:53:21Z], ~U[2026-06-29 12:54:44Z], ~U[2026-06-29 12:54:44Z], "In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", false, 45, ~U[2026-06-05 19:53:21Z]] 07:54:44.177 [debug] QUERY OK source="sources" db=0.2ms idle=20.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:54:44.178 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:54:44.178 [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 [3124978] 07:54:44.178 [debug] Current batch of media processed. Will check again in 1000ms 07:54:45.179 [debug] Current batch of media processed. Will check again in 1000ms 07:54:46.180 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 678, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", "id" => "zQ0iVWUvvDM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zQ0iVWUvvDM", "playlist_index" => 4, "timestamp" => 1780005229, "title" => "Linux Is Too Powerful For Age Check Laws", "upload_date" => "20260528"} 07:54:46.181 [debug] QUERY OK source="sources" db=0.2ms idle=28.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:54:46.181 [debug] QUERY OK source="sources" db=0.1ms idle=24.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:54:46.183 [debug] QUERY OK source="media_items" db=1.3ms idle=24.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-28 21:53:49Z], 45] 07:54:46.184 [debug] QUERY OK source="media_items" db=0.7ms idle=26.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Too Powerful For Age Check Laws", "147d1273-63fb-4e61-9a63-c6e7f46247a6", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", 4, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", false, false, false, 45, [], 98, ~U[2026-05-28 21:53:49Z], ~U[2026-06-29 12:54:46Z], ~U[2026-06-29 12:54:46Z], "In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Too Powerful For Age Check Laws", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", false, 45, ~U[2026-05-28 21:53:49Z]] 07:54:46.184 [debug] QUERY OK source="sources" db=0.2ms idle=27.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:54:46.184 [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] 07:54:46.185 [debug] QUERY OK source="media_items" db=0.1ms 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 [3063283] 07:54:46.185 [debug] Current batch of media processed. Will check again in 1000ms 07:54:47.186 [debug] Current batch of media processed. Will check again in 1000ms 07:54:48.187 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 507, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", "id" => "vel8YW7eCzE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vel8YW7eCzE", "playlist_index" => 5, "timestamp" => 1779390068, "title" => "RCE Bug Found in NGINX (With AI Tools)", "upload_date" => "20260521"} 07:54:48.188 [debug] QUERY OK source="sources" db=0.2ms idle=33.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:54:48.188 [debug] QUERY OK source="sources" db=0.1ms idle=31.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:54:48.190 [debug] QUERY OK source="media_items" db=1.3ms idle=31.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-21 19:01:08Z], 45] 07:54:48.191 [debug] QUERY OK source="media_items" db=0.9ms idle=33.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "RCE Bug Found in NGINX (With AI Tools)", "ba7dc1e1-8581-45dc-8f1e-c76abcab17b0", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", 5, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", false, false, false, 45, [], 98, ~U[2026-05-21 19:01:08Z], ~U[2026-06-29 12:54:48Z], ~U[2026-06-29 12:54:48Z], "If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "RCE Bug Found in NGINX (With AI Tools)", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", false, 45, ~U[2026-05-21 19:01:08Z]] 07:54:48.191 [debug] QUERY OK source="sources" db=0.1ms idle=34.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:54:48.191 [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] 07:54:48.192 [debug] QUERY OK source="media_items" db=0.1ms 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 [3008138] 07:54:48.192 [debug] Current batch of media processed. Will check again in 1000ms 07:54:49.193 [debug] Current batch of media processed. Will check again in 1000ms 07:54:50.194 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 623, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", "id" => "4dOp-QA4VK4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4dOp-QA4VK4", "playlist_index" => 6, "timestamp" => 1778963904, "title" => "A Hacker Found The BitLocker Backdoor", "upload_date" => "20260516"} 07:54:50.195 [debug] QUERY OK source="sources" db=0.2ms idle=38.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:54:50.195 [debug] QUERY OK source="sources" db=0.1ms idle=38.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:54:50.197 [debug] QUERY OK source="media_items" db=1.3ms idle=38.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-16 20:38:24Z], 45] 07:54:50.198 [debug] QUERY OK source="media_items" db=0.8ms idle=40.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "A Hacker Found The BitLocker Backdoor", "9c6000c2-4a99-4b8f-a76e-211d278d0085", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", 6, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", false, false, false, 45, [], 98, ~U[2026-05-16 20:38:24Z], ~U[2026-06-29 12:54:50Z], ~U[2026-06-29 12:54:50Z], "In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "A Hacker Found The BitLocker Backdoor", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", false, 45, ~U[2026-05-16 20:38:24Z]] 07:54:50.198 [debug] QUERY OK source="sources" db=0.1ms idle=40.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:54:50.198 [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] 07:54:50.199 [debug] QUERY OK source="media_items" db=0.1ms 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 [2969802] 07:54:50.199 [debug] Current batch of media processed. Will check again in 1000ms 07:54:51.200 [debug] Current batch of media processed. Will check again in 1000ms 07:54:52.201 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 492, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", "id" => "ioc_GlSCsIg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ioc_GlSCsIg", "playlist_index" => 7, "timestamp" => 1778710408, "title" => "Linux Is Getting an Emergency Kill Switch", "upload_date" => "20260513"} 07:54:52.202 [debug] QUERY OK source="sources" db=0.1ms idle=44.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 07:54:52.202 [debug] QUERY OK source="sources" db=0.1ms idle=45.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:54:52.204 [debug] QUERY OK source="media_items" db=1.4ms idle=45.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-13 22:13:28Z], 45] 07:54:52.205 [debug] QUERY OK source="media_items" db=0.8ms idle=47.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Getting an Emergency Kill Switch", "c6ea2a2f-18f2-47d6-8f42-ec3062d07ba5", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", 7, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", false, false, false, 45, [], 98, ~U[2026-05-13 22:13:28Z], ~U[2026-06-29 12:54:52Z], ~U[2026-06-29 12:54:52Z], "In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Getting an Emergency Kill Switch", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", false, 45, ~U[2026-05-13 22:13:28Z]] 07:54:52.205 [debug] QUERY OK source="sources" db=0.1ms idle=45.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:54:52.205 [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] 07:54:52.206 [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 [2947012] 07:54:52.206 [debug] Current batch of media processed. Will check again in 1000ms 07:54:53.207 [debug] Current batch of media processed. Will check again in 1000ms 07:54:53.465 [info] {"source":"oban","duration":8013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:54.208 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 556, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", "id" => "N_ALOVdrAmQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=N_ALOVdrAmQ", "playlist_index" => 8, "timestamp" => 1778102735, "title" => "Copy Fail The Worst Linux Privilege Escalation in Years", "upload_date" => "20260506"} 07:54:54.209 [debug] QUERY OK source="sources" db=0.2ms idle=743.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:54:54.209 [debug] QUERY OK source="sources" db=0.1ms idle=51.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:54:54.211 [debug] QUERY OK source="media_items" db=1.3ms idle=52.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-06 21:25:35Z], 45] 07:54:54.212 [debug] QUERY OK source="media_items" db=0.8ms idle=53.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Copy Fail The Worst Linux Privilege Escalation in Years", "fccaa4ad-d58f-437e-a8a0-75b5bc62ab94", "N_ALOVdrAmQ", 556, false, "https://www.youtube.com/watch?v=N_ALOVdrAmQ", 8, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", false, false, false, 45, [], 98, ~U[2026-05-06 21:25:35Z], ~U[2026-06-29 12:54:54Z], ~U[2026-06-29 12:54:54Z], "In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Copy Fail The Worst Linux Privilege Escalation in Years", "N_ALOVdrAmQ", 556, false, "https://www.youtube.com/watch?v=N_ALOVdrAmQ", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", false, 45, ~U[2026-05-06 21:25:35Z]] 07:54:54.212 [debug] QUERY OK source="sources" db=0.1ms idle=50.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:54:54.213 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 07:54:54.213 [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 [2893509] 07:54:54.213 [debug] Current batch of media processed. Will check again in 1000ms 07:54:55.214 [debug] Current batch of media processed. Will check again in 1000ms 07:54:56.215 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 497, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", "id" => "TwJhkFnROV8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TwJhkFnROV8", "playlist_index" => 9, "timestamp" => 1777760006, "title" => "The Password Manager Situation Is Crazy", "upload_date" => "20260502"} 07:54:56.215 [debug] QUERY OK source="sources" db=0.2ms idle=58.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 07:54:56.216 [debug] QUERY OK source="sources" db=0.1ms idle=58.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:54:56.218 [debug] QUERY OK source="media_items" db=1.9ms idle=59.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 22:13:26Z], 45] 07:54:56.219 [debug] QUERY OK source="media_items" db=1.1ms idle=61.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Password Manager Situation Is Crazy", "afd16ef8-4ef0-4c2c-a8a7-d14f309f61d3", "TwJhkFnROV8", 497, false, "https://www.youtube.com/watch?v=TwJhkFnROV8", 9, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", false, false, false, 45, [], 98, ~U[2026-05-02 22:13:26Z], ~U[2026-06-29 12:54:56Z], ~U[2026-06-29 12:54:56Z], "In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Password Manager Situation Is Crazy", "TwJhkFnROV8", 497, false, "https://www.youtube.com/watch?v=TwJhkFnROV8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", false, 45, ~U[2026-05-02 22:13:26Z]] 07:54:56.220 [debug] QUERY OK source="sources" db=0.1ms idle=54.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:54:56.220 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 07:54:56.220 [debug] QUERY OK source="media_items" db=0.3ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2863999] 07:54:56.221 [debug] Current batch of media processed. Will check again in 1000ms 07:54:57.222 [debug] Current batch of media processed. Will check again in 1000ms 07:54:58.223 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 523, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", "id" => "xQO7svoRelw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xQO7svoRelw", "playlist_index" => 10, "timestamp" => 1777511969, "title" => "Ubuntu Linux Will Ship With AI", "upload_date" => "20260430"} 07:54:58.224 [debug] QUERY OK source="sources" db=0.2ms idle=66.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 07:54:58.224 [debug] QUERY OK source="sources" db=0.1ms idle=66.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:54:58.226 [debug] QUERY OK source="media_items" db=1.4ms idle=67.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-30 01:19:29Z], 45] 07:54:58.227 [debug] QUERY OK source="media_items" db=0.8ms idle=68.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Ubuntu Linux Will Ship With AI", "d5d9cf4c-9a29-4fbb-94cc-92211838edc8", "xQO7svoRelw", 523, false, "https://www.youtube.com/watch?v=xQO7svoRelw", 10, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", false, false, false, 45, [], 98, ~U[2026-04-30 01:19:29Z], ~U[2026-06-29 12:54:58Z], ~U[2026-06-29 12:54:58Z], "In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Ubuntu Linux Will Ship With AI", "xQO7svoRelw", 523, false, "https://www.youtube.com/watch?v=xQO7svoRelw", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", false, 45, ~U[2026-04-30 01:19:29Z]] 07:54:58.227 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:54:58.227 [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] 07:54:58.228 [debug] QUERY OK source="media_items" db=0.1ms 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 [2841980] 07:54:58.228 [debug] Current batch of media processed. Will check again in 1000ms 07:54:59.229 [debug] Current batch of media processed. Will check again in 1000ms 07:55:00.084 [info] {"source":"oban","duration":144,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:55:00.230 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 543, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", "id" => "u3XlqKBeONY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=u3XlqKBeONY", "playlist_index" => 11, "timestamp" => 1777138036, "title" => "When The AI Model Comes With RCE", "upload_date" => "20260425"} 07:55:00.230 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 07:55:00.231 [debug] QUERY OK source="sources" db=0.1ms idle=73.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:55:00.233 [debug] QUERY OK source="media_items" db=1.9ms idle=74.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 17:27:16Z], 45] 07:55:00.235 [debug] QUERY OK source="media_items" db=2.4ms idle=76.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When The AI Model Comes With RCE", "0b241cfd-cf4a-41cf-af34-89a293787d0f", "u3XlqKBeONY", 543, false, "https://www.youtube.com/watch?v=u3XlqKBeONY", 11, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", false, false, false, 45, [], 98, ~U[2026-04-25 17:27:16Z], ~U[2026-06-29 12:55:00Z], ~U[2026-06-29 12:55:00Z], "In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When The AI Model Comes With RCE", "u3XlqKBeONY", 543, false, "https://www.youtube.com/watch?v=u3XlqKBeONY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", false, 45, ~U[2026-04-25 17:27:16Z]] 07:55:00.236 [debug] QUERY OK source="sources" db=0.1ms idle=66.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:55:00.236 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 07:55:00.236 [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 [2808375] 07:55:00.236 [debug] Current batch of media processed. Will check again in 1000ms 07:55:01.238 [debug] Current batch of media processed. Will check again in 1000ms 07:55:02.239 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 514, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", "id" => "ThTJAlYGqkE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ThTJAlYGqkE", "playlist_index" => 12, "timestamp" => 1776475697, "title" => "France Is Ditching Windows for Linux", "upload_date" => "20260418"} 07:55:02.240 [debug] QUERY OK source="sources" db=0.1ms idle=82.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:55:02.240 [debug] QUERY OK source="sources" db=0.1ms idle=82.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:55:02.242 [debug] QUERY OK source="media_items" db=1.3ms idle=83.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-18 01:28:17Z], 45] 07:55:02.243 [debug] QUERY OK source="media_items" db=0.8ms idle=84.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "France Is Ditching Windows for Linux", "4d100b5f-cabe-4c82-a442-412ca5c931cb", "ThTJAlYGqkE", 514, false, "https://www.youtube.com/watch?v=ThTJAlYGqkE", 12, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", false, false, false, 45, [], 98, ~U[2026-04-18 01:28:17Z], ~U[2026-06-29 12:55:02Z], ~U[2026-06-29 12:55:02Z], "In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "France Is Ditching Windows for Linux", "ThTJAlYGqkE", 514, false, "https://www.youtube.com/watch?v=ThTJAlYGqkE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", false, 45, ~U[2026-04-18 01:28:17Z]] 07:55:02.243 [debug] QUERY OK source="sources" db=0.1ms idle=70.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:55:02.243 [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] 07:55:02.244 [debug] QUERY OK source="media_items" db=0.1ms 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 [2749206] 07:55:02.244 [debug] Current batch of media processed. Will check again in 1000ms 07:55:03.245 [debug] Current batch of media processed. Will check again in 1000ms 07:55:04.181 [info] {"args":{"id":1012059},"id":419872,"meta":{},"system_time":1782737704181508680,"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"]} 07:55:04.181 [debug] QUERY OK source="media_items" db=0.1ms idle=24.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" = ?) [1012059] 07:55:04.182 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:04.182 [debug] QUERY OK source="sources" db=0.1ms idle=25.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:55:04.182 [debug] QUERY OK source="media_profiles" db=0.1ms idle=25.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:04.183 [debug] QUERY OK source="media_items" db=0.1ms 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 [1012059] 07:55:04.183 [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" = ?) [1012059] 07:55:04.183 [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] 07:55:04.183 [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 [] 07:55:04.184 [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 [] 07:55:04.184 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:04.185 [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 [] 07:55:04.185 [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 [] 07:55:04.185 [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 [] 07:55:04.185 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/50/da/50da65b68c2aed3be25b314173e2bb237f94acaba3a62fe6aac175523688594d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:04.246 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 515, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", "id" => "MsAOy_mSp_4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MsAOy_mSp_4", "playlist_index" => 13, "timestamp" => 1776126540, "title" => "Your Home Router Might Be In Danger", "upload_date" => "20260414"} 07:55:04.246 [debug] QUERY OK source="sources" db=0.2ms idle=62.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:55:04.246 [debug] QUERY OK source="sources" db=0.1ms idle=62.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:55:04.248 [debug] QUERY OK source="media_items" db=1.8ms idle=61.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-14 00:29:00Z], 45] 07:55:04.250 [debug] QUERY OK source="media_items" db=1.1ms idle=63.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your Home Router Might Be In Danger", "c923d0a3-9adb-44e3-aed1-b05fbd2cb622", "MsAOy_mSp_4", 515, false, "https://www.youtube.com/watch?v=MsAOy_mSp_4", 13, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", false, false, false, 45, [], 98, ~U[2026-04-14 00:29:00Z], ~U[2026-06-29 12:55:04Z], ~U[2026-06-29 12:55:04Z], "In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your Home Router Might Be In Danger", "MsAOy_mSp_4", 515, false, "https://www.youtube.com/watch?v=MsAOy_mSp_4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", false, 45, ~U[2026-04-14 00:29:00Z]] 07:55:04.251 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [45] 07:55:04.251 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 07:55:04.251 [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 [2723981] 07:55:04.251 [debug] Current batch of media processed. Will check again in 1000ms 07:55:05.251 [debug] Current batch of media processed. Will check again in 1000ms 07:55:06.010 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/50/da/50da65b68c2aed3be25b314173e2bb237f94acaba3a62fe6aac175523688594d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:55:06.010 [error] yt-dlp download error for media item #1012059: "ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:55:06.010 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012059},"id":419872,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1828956,"event":"job:exception","queue_time":276453,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:06.253 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 889, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", "id" => "la21SXOll6c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=la21SXOll6c", "playlist_index" => 14, "timestamp" => 1775739724, "title" => "Install Arch Linux The Lazy Way", "upload_date" => "20260409"} 07:55:06.254 [debug] QUERY OK source="sources" db=0.2ms idle=242.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:55:06.254 [debug] QUERY OK source="sources" db=0.1ms idle=236.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:55:06.256 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=97.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-09 13:02:04Z], 45] 07:55:06.257 [debug] QUERY OK source="media_items" db=0.7ms idle=98.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Install Arch Linux The Lazy Way", "4f7655ad-8463-492b-9673-5a380ab1bcc1", "la21SXOll6c", 889, false, "https://www.youtube.com/watch?v=la21SXOll6c", 14, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", false, false, false, 45, [], 98, ~U[2026-04-09 13:02:04Z], ~U[2026-06-29 12:55:06Z], ~U[2026-06-29 12:55:06Z], "In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Install Arch Linux The Lazy Way", "la21SXOll6c", 889, false, "https://www.youtube.com/watch?v=la21SXOll6c", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", false, 45, ~U[2026-04-09 13:02:04Z]] 07:55:06.257 [debug] QUERY OK source="sources" db=0.1ms idle=78.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:55:06.257 [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] 07:55:06.258 [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 [2688305] 07:55:06.258 [debug] Current batch of media processed. Will check again in 1000ms 07:55:07.259 [debug] Current batch of media processed. Will check again in 1000ms 07:55:08.260 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 659, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", "id" => "J6SFrdHOuFM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=J6SFrdHOuFM", "playlist_index" => 15, "timestamp" => 1775004780, "title" => "Uncomplicated Firewall Guide", "upload_date" => "20260401"} 07:55:08.261 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 07:55:08.262 [debug] QUERY OK source="sources" db=0.1ms idle=104.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:55:08.263 [debug] QUERY OK source="media_items" db=1.4ms idle=105.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-01 00:53:00Z], 45] 07:55:08.264 [debug] QUERY OK source="media_items" db=0.8ms idle=106.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Uncomplicated Firewall Guide", "6f75a4ea-b0c1-4d29-917d-1d32a681c549", "J6SFrdHOuFM", 659, false, "https://www.youtube.com/watch?v=J6SFrdHOuFM", 15, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", false, false, false, 45, [], 98, ~U[2026-04-01 00:53:00Z], ~U[2026-06-29 12:55:08Z], ~U[2026-06-29 12:55:08Z], "In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Uncomplicated Firewall Guide", "J6SFrdHOuFM", 659, false, "https://www.youtube.com/watch?v=J6SFrdHOuFM", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", false, 45, ~U[2026-04-01 00:53:00Z]] 07:55:08.265 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [45] 07:55:08.265 [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] 07:55:08.265 [debug] QUERY OK source="media_items" db=0.1ms 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 [2619987] 07:55:08.265 [debug] Current batch of media processed. Will check again in 1000ms 07:55:09.267 [debug] Current batch of media processed. Will check again in 1000ms 07:55:10.268 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 1125, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", "id" => "oc6WOCx1vCE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oc6WOCx1vCE", "playlist_index" => 16, "timestamp" => 1774389532, "title" => "Making Linux Ungovernable With I2P", "upload_date" => "20260324"} 07:55:10.268 [debug] QUERY OK source="sources" db=0.1ms idle=111.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:55:10.268 [debug] QUERY OK source="sources" db=0.1ms idle=111.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:55:10.270 [debug] QUERY OK source="media_items" db=1.3ms idle=111.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-24 21:58:52Z], 45] 07:55:10.271 [debug] QUERY OK source="media_items" db=0.8ms idle=113.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Making Linux Ungovernable With I2P", "2a3d43e3-d85b-4f48-a698-26c262e399c4", "oc6WOCx1vCE", 1125, false, "https://www.youtube.com/watch?v=oc6WOCx1vCE", 16, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", false, false, false, 45, [], 98, ~U[2026-03-24 21:58:52Z], ~U[2026-06-29 12:55:10Z], ~U[2026-06-29 12:55:10Z], "In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Making Linux Ungovernable With I2P", "oc6WOCx1vCE", 1125, false, "https://www.youtube.com/watch?v=oc6WOCx1vCE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", false, 45, ~U[2026-03-24 21:58:52Z]] 07:55:10.271 [debug] QUERY OK source="sources" db=0.1ms idle=88.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:55:10.272 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:10.272 [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 [2565295] 07:55:10.272 [debug] Current batch of media processed. Will check again in 1000ms 07:55:11.273 [debug] Current batch of media processed. Will check again in 1000ms 07:55:12.274 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 532, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", "id" => "4KyiLyOxux8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4KyiLyOxux8", "playlist_index" => 17, "timestamp" => 1773529831, "title" => "Meta Spent Millions To Push The New Age Check Laws", "upload_date" => "20260314"} 07:55:12.274 [debug] QUERY OK source="sources" db=0.2ms idle=116.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:55:12.274 [debug] QUERY OK source="sources" db=0.1ms idle=117.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:55:12.276 [debug] QUERY OK source="media_items" db=1.3ms idle=117.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-14 23:10:31Z], 45] 07:55:12.277 [debug] QUERY OK source="media_items" db=0.8ms idle=119.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Meta Spent Millions To Push The New Age Check Laws", "cd86514f-5bd7-4696-9e33-f2b0fc05eea9", "4KyiLyOxux8", 532, false, "https://www.youtube.com/watch?v=4KyiLyOxux8", 17, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", false, false, false, 45, [], 98, ~U[2026-03-14 23:10:31Z], ~U[2026-06-29 12:55:12Z], ~U[2026-06-29 12:55:12Z], "In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Meta Spent Millions To Push The New Age Check Laws", "4KyiLyOxux8", 532, false, "https://www.youtube.com/watch?v=4KyiLyOxux8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", false, 45, ~U[2026-03-14 23:10:31Z]] 07:55:12.278 [debug] QUERY OK source="sources" db=0.1ms idle=90.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:55:12.278 [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] 07:55:12.278 [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 [2488162] 07:55:12.278 [debug] Current batch of media processed. Will check again in 1000ms 07:55:13.279 [debug] Current batch of media processed. Will check again in 1000ms 07:55:14.280 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 526, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", "id" => "hiMqdYh9LNU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hiMqdYh9LNU", "playlist_index" => 18, "timestamp" => 1773332609, "title" => "The Online ID Check Situation is Crazy", "upload_date" => "20260312"} 07:55:14.281 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=123.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:55:14.281 [debug] QUERY OK source="sources" db=0.2ms idle=124.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:55:14.283 [debug] QUERY OK source="media_items" db=1.6ms idle=124.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-12 16:23:29Z], 45] 07:55:14.284 [debug] QUERY OK source="media_items" db=0.8ms idle=126.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Online ID Check Situation is Crazy", "934d63f4-ed20-4adf-b4c9-56936f140b46", "hiMqdYh9LNU", 526, false, "https://www.youtube.com/watch?v=hiMqdYh9LNU", 18, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", false, false, false, 45, [], 98, ~U[2026-03-12 16:23:29Z], ~U[2026-06-29 12:55:14Z], ~U[2026-06-29 12:55:14Z], "In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Online ID Check Situation is Crazy", "hiMqdYh9LNU", 526, false, "https://www.youtube.com/watch?v=hiMqdYh9LNU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", false, 45, ~U[2026-03-12 16:23:29Z]] 07:55:14.284 [debug] QUERY OK source="sources" db=0.1ms idle=94.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:55:14.285 [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] 07:55:14.285 [debug] QUERY OK source="media_items" db=0.1ms 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 [2470150] 07:55:14.285 [debug] Current batch of media processed. Will check again in 1000ms 07:55:15.286 [debug] Current batch of media processed. Will check again in 1000ms 07:55:16.287 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "duration" => 1142, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", "id" => "K3QOAVrhGTg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=K3QOAVrhGTg", "playlist_index" => 19, "timestamp" => 1773183113, "title" => "Installing Linux Just Got Easier", "upload_date" => "20260310"} 07:55:16.287 [debug] QUERY OK source="sources" db=0.2ms idle=129.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:55:16.287 [debug] QUERY OK source="sources" db=0.1ms idle=130.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:55:16.289 [debug] QUERY OK source="media_items" db=1.4ms idle=130.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 22:51:53Z], 45] 07:55:16.290 [debug] QUERY OK source="media_items" db=0.9ms idle=132.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Installing Linux Just Got Easier", "a45c0d8e-7338-41e5-b503-cfd7a70464b3", "K3QOAVrhGTg", 1142, false, "https://www.youtube.com/watch?v=K3QOAVrhGTg", 19, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", false, false, false, 45, [], 98, ~U[2026-03-10 22:51:53Z], ~U[2026-06-29 12:55:16Z], ~U[2026-06-29 12:55:16Z], "In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Installing Linux Just Got Easier", "K3QOAVrhGTg", 1142, false, "https://www.youtube.com/watch?v=K3QOAVrhGTg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", false, 45, ~U[2026-03-10 22:51:53Z]] 07:55:16.291 [debug] QUERY OK source="sources" db=0.1ms idle=97.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 07:55:16.291 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:16.291 [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 [2456354] 07:55:16.291 [debug] Current batch of media processed. Will check again in 1000ms 07:55:17.293 [debug] Current batch of media processed. Will check again in 1000ms 07:55:18.113 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/channel/UC7YOGHUfC1Tb6E4pudI9STA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/e6/a3/e6a397c73d364cd8698a4af1238934a4aabf4b75a1c8f4399b9112f20bf835d3.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/8e/db/8edb3b5ed89e3fadaba2b46977d846328c17d322aa19975b10f165d19f188178.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 07:55:18.113 [debug] Gracefully stopping file follower 07:55:18.114 [debug] QUERY OK source="sources" db=0.2ms idle=1823.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 07:55:18.114 [debug] QUERY OK source="sources" db=0.1ms idle=1823.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:55:18.116 [debug] QUERY OK source="media_items" db=1.4ms idle=1823.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-25 23:30:42Z], 45] 07:55:18.131 [debug] QUERY OK source="media_items" db=15.2ms idle=1824.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how apps on smartTV's are being used to setup stealthy residential proxies to support botnets using the TV owners home internet connection.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your TV Might Be Part Of A Botnet", "b5653d7e-b464-4328-86fa-5ee017eb755a", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", 1, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e062500_Your TV Might Be Part Of A Botnet.mp4", false, false, false, 45, [], 98, ~U[2026-06-25 23:30:42Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discuss how apps on smartTV's are being used to setup stealthy residential proxies to support botnets using the TV owners home internet connection.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your TV Might Be Part Of A Botnet", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e062500_Your TV Might Be Part Of A Botnet.mp4", false, 45, ~U[2026-06-25 23:30:42Z]] 07:55:18.132 [debug] QUERY OK source="sources" db=0.2ms idle=937.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:55:18.133 [debug] QUERY OK source="media_items" db=1.4ms idle=18.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-16 00:08:26Z], 45] 07:55:18.138 [debug] QUERY OK source="media_items" db=4.3ms idle=19.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I explain how a security researcher discovered an exploit in Creative's Sound Blaster Katana V2X soundbar that allows someone to install custom firmware to the speaker over an unauthenticated bluetooth connection to turn the speaker into a surveillance device or HID that can send commands to your computer.\n\nRead the security researchers write up on the issue here\nhttps://blog.nns.ee/2026/06/03/katana-badusb/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When Your Computer Gets Hacked Through A Bluetooth Speaker", "e5b94078-c938-4dc6-9b22-67a1f99dccdb", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", 2, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e061600_When Your Computer Gets Hacked Through A Bluetooth Speaker.mp4", false, false, false, 45, [], 98, ~U[2026-06-16 00:08:26Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I explain how a security researcher discovered an exploit in Creative's Sound Blaster Katana V2X soundbar that allows someone to install custom firmware to the speaker over an unauthenticated bluetooth connection to turn the speaker into a surveillance device or HID that can send commands to your computer.\n\nRead the security researchers write up on the issue here\nhttps://blog.nns.ee/2026/06/03/katana-badusb/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When Your Computer Gets Hacked Through A Bluetooth Speaker", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e061600_When Your Computer Gets Hacked Through A Bluetooth Speaker.mp4", false, 45, ~U[2026-06-16 00:08:26Z]] 07:55:18.139 [debug] QUERY OK source="sources" db=0.2ms idle=22.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 07:55:18.140 [debug] QUERY OK source="media_items" db=1.2ms idle=7.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-05 19:53:21Z], 45] 07:55:18.141 [debug] QUERY OK source="media_items" db=0.7ms idle=8.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "7b0c9dc6-6bea-459a-9ea9-1d035840525b", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", 3, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", false, false, false, 45, [], 98, ~U[2026-06-05 19:53:21Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discuss how Microsoft's refusal to pay out on bug bounties is dissolving trust between them and security researchers causing them to no longer take on bug bounties and in some cases just release public exploits for Microsoft's software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e060500_Microsoft's Bug Bounty Betrayal Puts Everyone in Danger.mp4", false, 45, ~U[2026-06-05 19:53:21Z]] 07:55:18.141 [debug] QUERY OK source="sources" db=0.2ms idle=7.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:55:18.143 [debug] QUERY OK source="media_items" db=1.3ms 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-28 21:53:49Z], 45] 07:55:18.144 [debug] QUERY OK source="media_items" db=0.9ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Too Powerful For Age Check Laws", "5f261895-230b-43ef-80e0-ff6229233991", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", 4, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", false, false, false, 45, [], 98, ~U[2026-05-28 21:53:49Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discuss changes made to age verification laws as a result of the open source nature of Linux and free software.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Too Powerful For Age Check Laws", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052800_Linux Is Too Powerful For Age Check Laws.mp4", false, 45, ~U[2026-05-28 21:53:49Z]] 07:55:18.145 [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" = ?) [45] 07:55:18.146 [debug] QUERY OK source="media_items" db=1.2ms 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-21 19:01:08Z], 45] 07:55:18.147 [debug] QUERY OK source="media_items" db=0.8ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "RCE Bug Found in NGINX (With AI Tools)", "55fb5346-76a2-4e5a-8973-6de009d5cd57", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", 5, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", false, false, false, 45, [], 98, ~U[2026-05-21 19:01:08Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "If you thought kernel bugs that allowed privilege escalations weren't bad enough a security company called Depthfirst managed to discover several vulnerabilities, including a remote code execution bug in NGINX that has existed in the programs code base for over 18 years with their AI vulnerability scanner.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "RCE Bug Found in NGINX (With AI Tools)", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e052100_RCE Bug Found in NGINX (With AI Tools).mp4", false, 45, ~U[2026-05-21 19:01:08Z]] 07:55:18.148 [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] 07:55:18.149 [debug] QUERY OK source="media_items" db=1.3ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-16 20:38:24Z], 45] 07:55:18.150 [debug] QUERY OK source="media_items" db=0.8ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "A Hacker Found The BitLocker Backdoor", "e24e9660-25d0-4373-81c1-a8a993d78024", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", 6, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", false, false, false, 45, [], 98, ~U[2026-05-16 20:38:24Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discuss how a hacker that was wronged by Microsoft for not paying out on bug bounties has been dropping free unpatched exploits against Microsoft products, including bitlocker.\n\nRead their blog here\nhttps://deadeclipse666.blogspot.com/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "A Hacker Found The BitLocker Backdoor", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051600_A Hacker Found The BitLocker Backdoor.mp4", false, 45, ~U[2026-05-16 20:38:24Z]] 07:55:18.151 [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" = ?) [45] 07:55:18.152 [debug] QUERY OK source="media_items" db=1.3ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-13 22:13:28Z], 45] 07:55:18.153 [debug] QUERY OK source="media_items" db=0.7ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Getting an Emergency Kill Switch", "22e152fb-ce8b-4fd8-a1b0-53b9c4fd8024", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", 7, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", false, false, false, 45, [], 98, ~U[2026-05-13 22:13:28Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discussed the proposed Linux kernel \"kill switch\" that would allow administrators to disabled unused vulnerable kernel functions to protect their machines from being compromised by malware like copy fail or dirty frag.\n\nhttps://lwn.net/Articles/1071706/\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Linux Is Getting an Emergency Kill Switch", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e051300_Linux Is Getting an Emergency Kill Switch.mp4", false, 45, ~U[2026-05-13 22:13:28Z]] 07:55:18.154 [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" = ?) [45] 07:55:18.155 [debug] QUERY OK source="media_items" db=1.1ms 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-06 21:25:35Z], 45] 07:55:18.157 [debug] QUERY OK source="media_items" db=2.2ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Copy Fail The Worst Linux Privilege Escalation in Years", "1639c25e-1f7e-4da1-9300-8b03165d83e4", "N_ALOVdrAmQ", 556, false, "https://www.youtube.com/watch?v=N_ALOVdrAmQ", 8, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", false, false, false, 45, [], 98, ~U[2026-05-06 21:25:35Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discuss the Copy Fail exploit that was found be security researchers at Theori with the help of their AI security tools. Read the full writeup of the exploit here.\n\nhttps://xint.io/blog/copy-fail-linux-distributions\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Copy Fail The Worst Linux Privilege Escalation in Years", "N_ALOVdrAmQ", 556, false, "https://www.youtube.com/watch?v=N_ALOVdrAmQ", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050600_Copy Fail The Worst Linux Privilege Escalation in Years.mp4", false, 45, ~U[2026-05-06 21:25:35Z]] 07:55:18.158 [debug] QUERY OK source="sources" db=0.2ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 07:55:18.159 [debug] QUERY OK source="media_items" db=1.1ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-02 22:13:26Z], 45] 07:55:18.160 [debug] QUERY OK source="media_items" db=0.7ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Password Manager Situation Is Crazy", "d6d7fbed-7a78-43c7-a3e4-0137bff1f48b", "TwJhkFnROV8", 497, false, "https://www.youtube.com/watch?v=TwJhkFnROV8", 9, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", false, false, false, 45, [], 98, ~U[2026-05-02 22:13:26Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discuss how BitWarden CLI was temporarily compromised by a supply chain attack, the risks developers and users could face as a result of the attack, and how to better protect yourself against these kinds of attacks in your organization.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Password Manager Situation Is Crazy", "TwJhkFnROV8", 497, false, "https://www.youtube.com/watch?v=TwJhkFnROV8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e050200_The Password Manager Situation Is Crazy.mp4", false, 45, ~U[2026-05-02 22:13:26Z]] 07:55:18.160 [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" = ?) [45] 07:55:18.162 [debug] QUERY OK source="media_items" db=1.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-04-30 01:19:29Z], 45] 07:55:18.163 [debug] QUERY OK source="media_items" db=0.7ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Ubuntu Linux Will Ship With AI", "04a6d4b4-9145-428f-849f-e802bf07ebdf", "xQO7svoRelw", 523, false, "https://www.youtube.com/watch?v=xQO7svoRelw", 10, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", false, false, false, 45, [], 98, ~U[2026-04-30 01:19:29Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discuss how Canonical Is planning to add AI features into Ubuntu.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Ubuntu Linux Will Ship With AI", "xQO7svoRelw", 523, false, "https://www.youtube.com/watch?v=xQO7svoRelw", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e043000_Ubuntu Linux Will Ship With AI.mp4", false, 45, ~U[2026-04-30 01:19:29Z]] 07:55:18.163 [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" = ?) [45] 07:55:18.164 [debug] QUERY OK source="media_items" db=1.0ms 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-04-25 17:27:16Z], 45] 07:55:18.165 [debug] QUERY OK source="media_items" db=0.7ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When The AI Model Comes With RCE", "e19cec54-c154-47b4-9300-b3fe5d32d3f4", "u3XlqKBeONY", 543, false, "https://www.youtube.com/watch?v=u3XlqKBeONY", 11, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", false, false, false, 45, [], 98, ~U[2026-04-25 17:27:16Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discuss CVE-2026-5760 a critical remote code execution vulnerabilties that was discovered in SGLang's Jinja Templating engine. If you're running SGLang it's recommended to use sandboxed jinja templates and ensure you aren't loading malicious GGUF Models to avoid a takeover of your AI server.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "When The AI Model Comes With RCE", "u3XlqKBeONY", 543, false, "https://www.youtube.com/watch?v=u3XlqKBeONY", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e042500_When The AI Model Comes With RCE.mp4", false, 45, ~U[2026-04-25 17:27:16Z]] 07:55:18.165 [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" = ?) [45] 07:55:18.167 [debug] QUERY OK source="media_items" db=1.0ms 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-04-18 01:28:17Z], 45] 07:55:18.168 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "France Is Ditching Windows for Linux", "da62d96c-d589-4f1a-8801-b7d1dc91087f", "ThTJAlYGqkE", 514, false, "https://www.youtube.com/watch?v=ThTJAlYGqkE", 12, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", false, false, false, 45, [], 98, ~U[2026-04-18 01:28:17Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discuss Frances 20+ year transition away from proprietary Microsoft software like Windows Office 365 to free and open source software like Linux and OpenOffice, as well as their development of their own Linux distros (GendBuntu and Securix) and their own office suite (LaSuite)\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "France Is Ditching Windows for Linux", "ThTJAlYGqkE", 514, false, "https://www.youtube.com/watch?v=ThTJAlYGqkE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041800_France Is Ditching Windows for Linux.mp4", false, 45, ~U[2026-04-18 01:28:17Z]] 07:55:18.168 [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" = ?) [45] 07:55:18.169 [debug] QUERY OK source="media_items" db=1.0ms 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-04-14 00:29:00Z], 45] 07:55:18.170 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your Home Router Might Be In Danger", "b34f134b-7679-4dbf-8eb8-c98cc7bbbd2b", "MsAOy_mSp_4", 515, false, "https://www.youtube.com/watch?v=MsAOy_mSp_4", 13, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", false, false, false, 45, [], 98, ~U[2026-04-14 00:29:00Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discuss the governments recent warning about foreign routers and state sponsored hacking of SOHO routers and how you can protect yourself from these router exploits.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Your Home Router Might Be In Danger", "MsAOy_mSp_4", 515, false, "https://www.youtube.com/watch?v=MsAOy_mSp_4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e041400_Your Home Router Might Be In Danger.mp4", false, 45, ~U[2026-04-14 00:29:00Z]] 07:55:18.170 [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" = ?) [45] 07:55:18.171 [debug] QUERY OK source="media_items" db=1.0ms 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-09 13:02:04Z], 45] 07:55:18.172 [debug] QUERY OK source="media_items" db=0.6ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Install Arch Linux The Lazy Way", "2d6357a9-1d3a-4434-846f-13872662e40a", "la21SXOll6c", 889, false, "https://www.youtube.com/watch?v=la21SXOll6c", 14, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", false, false, false, 45, [], 98, ~U[2026-04-09 13:02:04Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I show you how to use archinstall 4.0 to easily deploy an arch Linux machine and create reproducible Arch Linux builds.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Install Arch Linux The Lazy Way", "la21SXOll6c", 889, false, "https://www.youtube.com/watch?v=la21SXOll6c", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040900_Install Arch Linux The Lazy Way.mp4", false, 45, ~U[2026-04-09 13:02:04Z]] 07:55:18.173 [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" = ?) [45] 07:55:18.174 [debug] QUERY OK source="media_items" db=1.0ms 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-01 00:53:00Z], 45] 07:55:18.175 [debug] QUERY OK source="media_items" db=0.6ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Uncomplicated Firewall Guide", "87dde847-3aa7-411d-981c-3f3763ae3a6b", "J6SFrdHOuFM", 659, false, "https://www.youtube.com/watch?v=J6SFrdHOuFM", 15, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", false, false, false, 45, [], 98, ~U[2026-04-01 00:53:00Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I give you an uncomplicated breakdown on ufw (the uncomplicated firewall) in this video I cover how to configure a firewall on your Linux system.\n\n0:00 Intro\n0:06 What is UFW?\n0:47 UFW Default Rules\n1:26 Implicit Deny\n3:32 UFW Application Profiles\n7:23 How to Configure a Secure Firewall\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Uncomplicated Firewall Guide", "J6SFrdHOuFM", 659, false, "https://www.youtube.com/watch?v=J6SFrdHOuFM", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e040100_Uncomplicated Firewall Guide.mp4", false, 45, ~U[2026-04-01 00:53:00Z]] 07:55:18.175 [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" = ?) [45] 07:55:18.176 [debug] QUERY OK source="media_items" db=1.0ms 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-03-24 21:58:52Z], 45] 07:55:18.180 [debug] QUERY OK source="media_items" db=3.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Making Linux Ungovernable With I2P", "7cfcee90-9909-4795-86b4-fea394b1112c", "oc6WOCx1vCE", 1125, false, "https://www.youtube.com/watch?v=oc6WOCx1vCE", 16, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", false, false, false, 45, [], 98, ~U[2026-03-24 21:58:52Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I show you how to use Linux in an \"ungovernable\" way by fetching packages and distro iso's over the I2P darknet. \n\n0:00 Intro to I2P\n1:49 Downloading Linux .iso's over I2P\n3:32 Configuring Qbittorrent to connect to I2P\n7:57 How Artix Linux is resisting age check laws\n10:31 How to configure package downloads over I2P\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Making Linux Ungovernable With I2P", "oc6WOCx1vCE", 1125, false, "https://www.youtube.com/watch?v=oc6WOCx1vCE", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e032400_Making Linux Ungovernable With I2P.mp4", false, 45, ~U[2026-03-24 21:58:52Z]] 07:55:18.180 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [45] 07:55:18.182 [debug] QUERY OK source="media_items" db=1.0ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-14 23:10:31Z], 45] 07:55:18.183 [debug] QUERY OK source="media_items" db=0.7ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Meta Spent Millions To Push The New Age Check Laws", "c22a0e35-6956-41ff-b6c8-f8a9836e3219", "4KyiLyOxux8", 532, false, "https://www.youtube.com/watch?v=4KyiLyOxux8", 17, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", false, false, false, 45, [], 98, ~U[2026-03-14 23:10:31Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discuss why Meta (formerly known as Facebook) spent millions of dollars to lobby for the new age check laws like the App Store Accountability Act to shift the responsibility of keeping kids off their platform to OS and App store makers. \n\nSources for this video with more details about the lobbyist paper trail\nhttps://tboteproject.com/git/hekate/attestation-findings\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Meta Spent Millions To Push The New Age Check Laws", "4KyiLyOxux8", 532, false, "https://www.youtube.com/watch?v=4KyiLyOxux8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031400_Meta Spent Millions To Push The New Age Check Laws.mp4", false, 45, ~U[2026-03-14 23:10:31Z]] 07:55:18.183 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [45] 07:55:18.184 [debug] QUERY OK source="media_items" db=1.1ms 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-03-12 16:23:29Z], 45] 07:55:18.185 [debug] QUERY OK source="media_items" db=0.7ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Online ID Check Situation is Crazy", "73f6721e-6c11-4db3-b822-3090189e2a7c", "hiMqdYh9LNU", 526, false, "https://www.youtube.com/watch?v=hiMqdYh9LNU", 18, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", false, false, false, 45, [], 98, ~U[2026-03-12 16:23:29Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discuss how the \"App Store Accountability Act\" would add another layer of privacy violating age checks at the federal level to everyone who wants to use any kind of computer or mobile device.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "The Online ID Check Situation is Crazy", "hiMqdYh9LNU", 526, false, "https://www.youtube.com/watch?v=hiMqdYh9LNU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031200_The Online ID Check Situation is Crazy.mp4", false, 45, ~U[2026-03-12 16:23:29Z]] 07:55:18.185 [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" = ?) [45] 07:55:18.187 [debug] QUERY OK source="media_items" db=1.0ms 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-03-10 22:51:53Z], 45] 07:55:18.188 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Installing Linux Just Got Easier", "64cb77d8-cd5e-412e-8b9c-49e6d6242540", "K3QOAVrhGTg", 1142, false, "https://www.youtube.com/watch?v=K3QOAVrhGTg", 19, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", false, false, false, 45, [], 98, ~U[2026-03-10 22:51:53Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I demo ULLI the USB-Less Linux Installer which lets you install a new Linux distro from Windows or a different Linux distro without using any external media just like the \"in-place upgrade\" that has existed for Windows OS's since Windows 8.\n\nTry ULLI for yourself\nhttps://github.com/rltvty2/ulli\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Installing Linux Just Got Easier", "K3QOAVrhGTg", 1142, false, "https://www.youtube.com/watch?v=K3QOAVrhGTg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e031000_Installing Linux Just Got Easier.mp4", false, 45, ~U[2026-03-10 22:51:53Z]] 07:55:18.188 [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" = ?) [45] 07:55:18.189 [debug] QUERY OK source="media_items" db=1.1ms 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-03-05 20:52:32Z], 45] 07:55:18.190 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In this video I discuss how states are passing laws that would require users to submit their age in order to use an operating system, and how this will affect the free software community.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Online Age Checks Are Going Too Far", "65447469-a297-4770-b328-387df50009cc", "QKzRf8B-oDk", 579, false, "https://www.youtube.com/watch?v=QKzRf8B-oDk", 20, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e030500_Online Age Checks Are Going Too Far.mp4", false, false, false, 45, [], 98, ~U[2026-03-05 20:52:32Z], ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], "In this video I discuss how states are passing laws that would require users to submit their age in order to use an operating system, and how this will affect the free software community.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Online Age Checks Are Going Too Far", "QKzRf8B-oDk", 579, false, "https://www.youtube.com/watch?v=QKzRf8B-oDk", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e030500_Online Age Checks Are Going Too Far.mp4", false, 45, ~U[2026-03-05 20:52:32Z]] 07:55:18.190 [debug] QUERY OK source="sources" db=0.2ms idle=3.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z], 45] 07:55:18.191 [debug] QUERY OK source="media_items" db=1.2ms 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")))) [45] 07:55:18.193 [debug] QUERY OK source="media_items" db=1.2ms idle=3.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [45] 07:55:18.193 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [45] 07:55:18.194 [debug] QUERY OK source="tasks" db=0.2ms idle=2.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419874, 45, ~U[2026-06-29 12:55:18Z], ~U[2026-06-29 12:55:18Z]] 07:55:18.195 [info] {"args":{"id":45},"id":419781,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":43049687,"event":"job:stop","queue_time":564161,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 07:55:23.474 [info] {"source":"oban","duration":8774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:24.214 [info] {"args":{"id":52},"id":419869,"meta":{},"system_time":1782737724214006363,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:55:24.214 [debug] QUERY OK source="sources" db=0.1ms idle=57.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:55:24.214 [debug] QUERY OK source="settings" db=0.1ms idle=57.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:55:24.215 [debug] QUERY OK source="media_profiles" db=0.1ms idle=57.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:24.215 [debug] QUERY OK source="settings" db=0.1ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:55:24.215 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 07:55:24.264 [debug] Media ids fetched from RSS: ["HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 07:55:24.265 [debug] QUERY OK source="media_items" db=0.4ms idle=50.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg", "JUgzrUVSM2w"] 07:55:24.266 [debug] QUERY OK source="media_items" db=0.7ms idle=51.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")))) [52] 07:55:24.269 [debug] QUERY OK source="tasks" db=0.1ms idle=53.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419875, 1301334, ~U[2026-06-29 12:55:24Z], ~U[2026-06-29 12:55:24Z]] 07:55:24.271 [debug] QUERY OK source="tasks" db=0.2ms idle=3.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419876, 1301335, ~U[2026-06-29 12:55:24Z], ~U[2026-06-29 12:55:24Z]] 07:55:24.274 [debug] QUERY OK source="tasks" db=0.2ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419877, 1301347, ~U[2026-06-29 12:55:24Z], ~U[2026-06-29 12:55:24Z]] 07:55:24.276 [info] {"args":{"id":1301334},"id":419875,"meta":{},"system_time":1782737724276168159,"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"]} 07:55:24.276 [info] {"args":{"id":1301335},"id":419876,"meta":{},"system_time":1782737724276285828,"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"]} 07:55:24.276 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 07:55:24.277 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:24.277 [debug] QUERY OK source="media_items" db=1.0ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 07:55:24.277 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:24.277 [debug] QUERY OK source="sources" db=0.6ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:55:24.278 [debug] QUERY OK source="sources" db=0.4ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:55:24.278 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 07:55:24.278 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:24.279 [debug] QUERY OK source="media_items" db=0.7ms 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 [1301335] 07:55:24.279 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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 [1301334] 07:55:24.279 [debug] QUERY OK source="tasks" db=0.2ms idle=1.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419878, 1301392, ~U[2026-06-29 12:55:24Z], ~U[2026-06-29 12:55:24Z]] 07:55:24.280 [debug] QUERY OK source="media_metadata" db=0.2ms 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" = ?) [1301335] 07:55:24.281 [debug] QUERY OK source="media_metadata" db=0.2ms idle=1.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [1301334] 07:55:24.281 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:24.281 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:24.281 [debug] QUERY OK source="settings" db=0.3ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:55:24.282 [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 [] 07:55:24.282 [debug] QUERY OK source="settings" db=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:55:24.282 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:24.282 [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 [] 07:55:24.283 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:24.283 [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 [] 07:55:24.283 [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 [] 07:55:24.283 [debug] QUERY OK source="tasks" db=0.2ms idle=0.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419879, 1301393, ~U[2026-06-29 12:55:24Z], ~U[2026-06-29 12:55:24Z]] 07:55:24.283 [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 [] 07:55:24.283 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cd/a3/cda3c152db2216843ec743a1f190a76f31b1f109390201ffee4771841c6d2c47.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:24.284 [debug] QUERY OK source="settings" db=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:55:24.284 [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 [] 07:55:24.284 [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 [] 07:55:24.284 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/58/c75843eb2c1557879acd50d3574fc90e8f90208ffd3ee4a45242015389ad6d5c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:24.286 [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" [419880, 1301394, ~U[2026-06-29 12:55:24Z], ~U[2026-06-29 12:55:24Z]] 07:55:24.288 [debug] QUERY OK source="tasks" db=0.2ms idle=2.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419881, 1301395, ~U[2026-06-29 12:55:24Z], ~U[2026-06-29 12:55:24Z]] 07:55:24.291 [debug] QUERY OK source="tasks" db=0.2ms idle=3.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419882, 1301397, ~U[2026-06-29 12:55:24Z], ~U[2026-06-29 12:55:24Z]] 07:55:24.293 [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" [419883, 1301398, ~U[2026-06-29 12:55:24Z], ~U[2026-06-29 12:55:24Z]] 07:55:24.295 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419884, 1301399, ~U[2026-06-29 12:55:24Z], ~U[2026-06-29 12:55:24Z]] 07:55:24.298 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419885, 1301400, ~U[2026-06-29 12:55:24Z], ~U[2026-06-29 12:55:24Z]] 07:55:24.300 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419886, 2720968, ~U[2026-06-29 12:55:24Z], ~U[2026-06-29 12:55:24Z]] 07:55:24.301 [debug] QUERY OK source="tasks" db=0.2ms idle=1.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419887, 52, ~U[2026-06-29 12:55:24Z], ~U[2026-06-29 12:55:24Z]] 07:55:24.302 [info] {"args":{"id":52},"id":419869,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":87747,"event":"job:stop","queue_time":832244,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 07:55:26.130 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/58/c75843eb2c1557879acd50d3574fc90e8f90208ffd3ee4a45242015389ad6d5c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:55:26.131 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:26.131 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:26.131 [info] {"args":{"id":1301334},"id":419875,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1854955,"event":"job:stop","queue_time":274894,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:26.137 [info] {"args":{"id":1301347},"id":419877,"meta":{},"system_time":1782737726137637318,"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"]} 07:55:26.138 [debug] QUERY OK source="media_items" db=0.1ms idle=1835.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" = ?) [1301347] 07:55:26.138 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:26.138 [debug] QUERY OK source="sources" db=0.1ms idle=1829.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:55:26.138 [debug] QUERY OK source="media_profiles" db=0.1ms idle=930.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:26.139 [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 [1301347] 07:55:26.141 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301347] 07:55:26.141 [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] 07:55:26.141 [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 [] 07:55:26.141 [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 [] 07:55:26.141 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:26.142 [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 [] 07:55:26.142 [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 [] 07:55:26.142 [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 [] 07:55:26.143 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a4/45/a445f97499cca628808ebf23673afa446411cc56bfc94864827a5a10db6c346d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:26.177 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cd/a3/cda3c152db2216843ec743a1f190a76f31b1f109390201ffee4771841c6d2c47.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:55:26.177 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:26.177 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:26.178 [info] {"args":{"id":1301335},"id":419876,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1901455,"event":"job:stop","queue_time":274894,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:26.184 [info] {"args":{"id":1301392},"id":419878,"meta":{},"system_time":1782737726184670275,"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"]} 07:55:26.185 [debug] QUERY OK source="media_items" db=0.1ms idle=42.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" = ?) [1301392] 07:55:26.185 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:26.185 [debug] QUERY OK source="sources" db=0.2ms idle=42.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:55:26.185 [debug] QUERY OK source="media_profiles" db=0.2ms idle=42.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] 07:55:26.186 [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 [1301392] 07:55:26.186 [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" = ?) [1301392] 07:55:26.186 [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] 07:55:26.187 [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 [] 07:55:26.187 [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 [] 07:55:26.187 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:26.189 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:55:26.189 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:55:26.189 [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 [] 07:55:26.189 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/14/a11460729cc7616f675973d347a2a125458e7a525b3950afb98263e06495302a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:27.729 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a4/45/a445f97499cca628808ebf23673afa446411cc56bfc94864827a5a10db6c346d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:55:27.729 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:27.729 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:27.730 [info] {"args":{"id":1301347},"id":419877,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1592092,"event":"job:stop","queue_time":2136965,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:27.736 [info] {"args":{"id":1301393},"id":419879,"meta":{},"system_time":1782737727736868678,"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"]} 07:55:27.737 [debug] QUERY OK source="media_items" db=0.1ms idle=1547.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" = ?) [1301393] 07:55:27.737 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:27.737 [debug] QUERY OK source="sources" db=0.1ms idle=1528.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:55:27.737 [debug] QUERY OK source="media_profiles" db=0.1ms idle=527.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:27.738 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301393] 07:55:27.739 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301393] 07:55:27.739 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:55:27.739 [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 [] 07:55:27.740 [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 [] 07:55:27.740 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:27.741 [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 [] 07:55:27.741 [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 [] 07:55:27.741 [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 [] 07:55:27.741 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/89/fe/89fe74bedc81b0904e1221e41806d9a4c4eceed296908567cc64ff5ea3b39a80.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:28.030 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/14/a11460729cc7616f675973d347a2a125458e7a525b3950afb98263e06495302a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:55:28.030 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:28.030 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:28.030 [info] {"args":{"id":1301392},"id":419878,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1845677,"event":"job:stop","queue_time":2183957,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:28.037 [info] {"args":{"id":1301394},"id":419880,"meta":{},"system_time":1782737728037486114,"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"]} 07:55:28.037 [debug] QUERY OK source="media_items" db=0.2ms idle=296.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301394] 07:55:28.038 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:28.038 [debug] QUERY OK source="sources" db=0.2ms idle=296.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:55:28.038 [debug] QUERY OK source="media_profiles" db=0.1ms idle=296.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:28.039 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301394] 07:55:28.040 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301394] 07:55:28.040 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:28.040 [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 [] 07:55:28.041 [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 [] 07:55:28.041 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:28.041 [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 [] 07:55:28.042 [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 [] 07:55:28.042 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:55:28.042 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0b/18/0b18458eb281919ee7fa2793a8519a77fdbdc812ea038592bb0b74e67e29893d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:29.647 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/89/fe/89fe74bedc81b0904e1221e41806d9a4c4eceed296908567cc64ff5ea3b39a80.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:55:29.647 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:29.647 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:29.647 [info] {"args":{"id":1301393},"id":419879,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1910473,"event":"job:stop","queue_time":3735900,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:29.653 [info] {"args":{"id":1301395},"id":419881,"meta":{},"system_time":1782737729653677471,"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"]} 07:55:29.654 [debug] QUERY OK source="media_items" db=0.1ms idle=496.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" = ?) [1301395] 07:55:29.654 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:29.654 [debug] QUERY OK source="sources" db=0.1ms idle=497.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:55:29.654 [debug] QUERY OK source="media_profiles" db=0.1ms idle=441.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:29.654 [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 [1301395] 07:55:29.657 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301395] 07:55:29.657 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:55:29.657 [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 [] 07:55:29.657 [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 [] 07:55:29.658 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:29.658 [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 [] 07:55:29.659 [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 [] 07:55:29.659 [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 [] 07:55:29.659 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/15/17/1517d204ae4feb992c794ef3059f130b2343e1d8f45713d884a90320ec3f50b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:29.778 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0b/18/0b18458eb281919ee7fa2793a8519a77fdbdc812ea038592bb0b74e67e29893d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:55:29.778 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:29.778 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:29.779 [info] {"args":{"id":1301394},"id":419880,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1741350,"event":"job:stop","queue_time":4036895,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:29.785 [info] {"args":{"id":1301397},"id":419882,"meta":{},"system_time":1782737729785480351,"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"]} 07:55:29.785 [debug] QUERY OK source="media_items" db=0.1ms idle=126.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301397] 07:55:29.785 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:29.786 [debug] QUERY OK source="sources" db=0.1ms idle=127.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:55:29.786 [debug] QUERY OK source="media_profiles" db=0.1ms idle=127.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:29.787 [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 [1301397] 07:55:29.787 [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" = ?) [1301397] 07:55:29.788 [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] 07:55:29.788 [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 [] 07:55:29.788 [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 [] 07:55:29.788 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:29.789 [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 [] 07:55: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 [] 07:55:29.789 [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 [] 07:55:29.789 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/70/2a70c8f03739b60db04d37e9c08ac87bb0b19710095c084f46cfced862a6a4a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:31.532 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/15/17/1517d204ae4feb992c794ef3059f130b2343e1d8f45713d884a90320ec3f50b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:55:31.532 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:31.533 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:31.533 [info] {"args":{"id":1301395},"id":419881,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1879523,"event":"job:stop","queue_time":5652922,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:31.539 [info] {"args":{"id":1301398},"id":419883,"meta":{},"system_time":1782737731539651926,"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"]} 07:55:31.540 [debug] QUERY OK source="media_items" db=0.1ms idle=382.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" = ?) [1301398] 07:55:31.540 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:31.540 [debug] QUERY OK source="sources" db=0.1ms idle=383.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:55:31.540 [debug] QUERY OK source="media_profiles" db=0.1ms idle=324.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:31.541 [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 [1301398] 07:55:31.542 [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" = ?) [1301398] 07:55:31.542 [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] 07:55:31.542 [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 [] 07:55:31.542 [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 [] 07:55:31.542 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:31.543 [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 [] 07:55:31.543 [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 [] 07:55:31.544 [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 [] 07:55:31.544 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/e4/eae4d64e23cdeed4589888909d717dd1b9d5141303b4bd8a53f62a9507de2307.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:31.596 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/70/2a70c8f03739b60db04d37e9c08ac87bb0b19710095c084f46cfced862a6a4a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:55:31.596 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:31.596 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:31.596 [info] {"args":{"id":1301397},"id":419882,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1811056,"event":"job:stop","queue_time":5784956,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:31.603 [info] {"args":{"id":1301399},"id":419884,"meta":{},"system_time":1782737731603529677,"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"]} 07:55:31.603 [debug] QUERY OK source="media_items" db=0.1ms idle=59.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" = ?) [1301399] 07:55:31.604 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:31.604 [debug] QUERY OK source="sources" db=0.1ms idle=60.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:55:31.604 [debug] QUERY OK source="media_profiles" db=0.1ms idle=60.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:55:31.605 [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 [1301399] 07:55:31.605 [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" = ?) [1301399] 07:55:31.606 [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] 07:55:31.606 [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 [] 07:55:31.606 [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 [] 07:55:31.606 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:31.607 [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 [] 07:55:31.607 [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 [] 07:55:31.607 [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 [] 07:55:31.608 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d4/a3/d4a38cbbb51ce44b048923a15ec7fe778a847696a0bb5ce44949dba6c94a538f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:33.276 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d4/a3/d4a38cbbb51ce44b048923a15ec7fe778a847696a0bb5ce44949dba6c94a538f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:55:33.276 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:33.276 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:33.276 [info] {"args":{"id":1301399},"id":419884,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1672863,"event":"job:stop","queue_time":7602943,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:33.283 [info] {"args":{"id":1301400},"id":419885,"meta":{},"system_time":1782737733283631598,"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"]} 07:55:33.284 [debug] QUERY OK source="media_items" db=0.1ms idle=126.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301400] 07:55:33.284 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:33.284 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [52] 07:55:33.284 [debug] QUERY OK source="media_profiles" db=0.2ms idle=65.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] 07:55:33.285 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301400] 07:55:33.286 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301400] 07:55:33.286 [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] 07:55:33.287 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 07:55:33.287 [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 [] 07:55:33.287 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:33.288 [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 [] 07:55:33.288 [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 [] 07:55:33.288 [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 [] 07:55:33.288 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/21/8f210d6e7abe85f03b088b7b9a494d99828703322acc83fa38340a4886b5add5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:33.355 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/e4/eae4d64e23cdeed4589888909d717dd1b9d5141303b4bd8a53f62a9507de2307.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:55:33.355 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:33.355 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:33.355 [info] {"args":{"id":1301398},"id":419883,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1815810,"event":"job:stop","queue_time":7538942,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:33.362 [info] {"args":{"id":2720968},"id":419886,"meta":{},"system_time":1782737733362553263,"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"]} 07:55:33.362 [debug] QUERY OK source="media_items" db=0.1ms idle=74.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" = ?) [2720968] 07:55:33.363 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:33.363 [debug] QUERY OK source="sources" db=0.1ms idle=74.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 07:55:33.363 [debug] QUERY OK source="media_profiles" db=0.1ms idle=74.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] 07:55:33.364 [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 [2720968] 07:55:33.364 [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" = ?) [2720968] 07:55:33.365 [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] 07:55:33.365 [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 [] 07:55:33.365 [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 [] 07:55:33.365 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:33.366 [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 [] 07:55:33.366 [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 [] 07:55:33.367 [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 [] 07:55:33.367 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/79/d3/79d307226b9e5144abb0fa87287503f195f56463dfaeaf1ec6a3513b4727faa4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:35.106 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/21/8f210d6e7abe85f03b088b7b9a494d99828703322acc83fa38340a4886b5add5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:55:35.106 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:35.106 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:35.107 [info] {"args":{"id":1301400},"id":419885,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1823315,"event":"job:stop","queue_time":9282896,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:35.112 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/79/d3/79d307226b9e5144abb0fa87287503f195f56463dfaeaf1ec6a3513b4727faa4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 07:55:35.112 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:35.112 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 07:55:35.112 [info] {"args":{"id":2720968},"id":419886,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1749819,"event":"job:stop","queue_time":9361910,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:35.113 [info] {"args":{"id":1012059},"id":419872,"meta":{},"system_time":1782737735113525497,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:35.113 [debug] QUERY OK source="media_items" db=0.1ms idle=1746.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" = ?) [1012059] 07:55:35.113 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:55:35.114 [debug] QUERY OK source="sources" db=0.1ms idle=893.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:55:35.114 [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] 07:55:35.114 [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 [1012059] 07:55:35.116 [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" = ?) [1012059] 07:55:35.116 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:55:35.116 [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 [] 07:55:35.116 [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 [] 07:55:35.116 [debug] Running yt-dlp command for action: get_downloadable_status 07:55:35.117 [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 [] 07:55:35.117 [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 [] 07:55:35.117 [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 [] 07:55:35.117 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/34/05/3405d21288f59502bdc5bb5e19723024c0ba63c3a2858a5221f48c71ef604472.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:55:36.758 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/34/05/3405d21288f59502bdc5bb5e19723024c0ba63c3a2858a5221f48c71ef604472.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:55:36.758 [error] yt-dlp download error for media item #1012059: "ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:55:36.759 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012059},"id":419872,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1644920,"event":"job:exception","queue_time":6102352,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:55:53.483 [info] {"source":"oban","duration":7729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:00.085 [info] {"source":"oban","duration":743,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:56:10.284 [info] {"args":{"id":1012059},"id":419872,"meta":{},"system_time":1782737770284652797,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:56:10.285 [debug] QUERY OK source="media_items" db=0.1ms idle=1008.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" = ?) [1012059] 07:56:10.285 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:56:10.285 [debug] QUERY OK source="sources" db=0.1ms idle=128.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:56:10.285 [debug] QUERY OK source="media_profiles" db=0.1ms idle=128.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:56:10.286 [debug] QUERY OK source="media_items" db=0.6ms 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 [1012059] 07:56:10.287 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1012059] 07:56:10.288 [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] 07:56:10.288 [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 [] 07:56:10.288 [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 [] 07:56:10.288 [debug] Running yt-dlp command for action: get_downloadable_status 07:56:10.288 [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 [] 07:56:10.289 [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 [] 07:56:10.289 [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 [] 07:56:10.289 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1d/c8/1dc890a91cb10c9b5d923e40b675343a3ee55e1ad129e0a3ef9c0c7828799470.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:56:11.914 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1d/c8/1dc890a91cb10c9b5d923e40b675343a3ee55e1ad129e0a3ef9c0c7828799470.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:56:11.914 [error] yt-dlp download error for media item #1012059: "ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:56:11.915 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012059},"id":419872,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1630175,"event":"job:exception","queue_time":524477,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:56:23.492 [info] {"source":"oban","duration":8410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 07:56:53.498 [info] {"source":"oban","duration":5334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:00.087 [info] {"source":"oban","duration":390,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:57:02.369 [info] {"args":{"id":1012059},"id":419872,"meta":{},"system_time":1782737822369558289,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:57:02.369 [debug] QUERY OK source="media_items" db=0.1ms idle=1212.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" = ?) [1012059] 07:57:02.370 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:57:02.370 [debug] QUERY OK source="sources" db=0.1ms idle=1212.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:57:02.370 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 07:57:02.371 [debug] QUERY OK source="media_items" db=0.1ms 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 [1012059] 07:57:02.372 [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" = ?) [1012059] 07:57:02.372 [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] 07:57:02.372 [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 [] 07:57:02.372 [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 [] 07:57:02.372 [debug] Running yt-dlp command for action: get_downloadable_status 07:57:02.373 [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 [] 07:57:02.373 [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 [] 07:57:02.373 [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 [] 07:57:02.373 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/23/b4/23b4adf1e98fc83b404fcc842842b8177719bf8f3cdbcfcdd61ab16c5e7ef9ce.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:57:04.213 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/23/b4/23b4adf1e98fc83b404fcc842842b8177719bf8f3cdbcfcdd61ab16c5e7ef9ce.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:57:04.213 [error] yt-dlp download error for media item #1012059: "ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:57:04.214 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012059},"id":419872,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1844064,"event":"job:exception","queue_time":453117,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:57:23.506 [info] {"source":"oban","duration":7792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:53.518 [info] {"source":"oban","duration":10432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:00.089 [info] {"source":"oban","duration":139,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:58:23.526 [info] {"source":"oban","duration":7401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:24.479 [info] {"args":{"id":1012059},"id":419872,"meta":{},"system_time":1782737904479596580,"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"]} 07:58:24.480 [debug] QUERY OK source="media_items" db=0.6ms idle=1322.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" = ?) [1012059] 07:58:24.480 [info] User scripts lifecyle file either not present or is empty. Skipping. 07:58:24.480 [debug] QUERY OK source="sources" db=0.2ms idle=1008.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 07:58:24.481 [debug] QUERY OK source="media_profiles" db=0.5ms idle=954.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] 07:58:24.482 [debug] QUERY OK source="media_items" db=0.6ms 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 [1012059] 07:58:24.483 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1012059] 07:58:24.483 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 07:58:24.484 [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 [] 07:58:24.484 [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 [] 07:58:24.484 [debug] Running yt-dlp command for action: get_downloadable_status 07:58:24.485 [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 [] 07:58:24.485 [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 [] 07:58:24.485 [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 [] 07:58:24.485 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b3/96/b39627e4e907eb87b9c03aae791d1deeb9f8bc2a787cad7ce8e1c8062e44a793.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 07:58:26.290 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b3/96/b39627e4e907eb87b9c03aae791d1deeb9f8bc2a787cad7ce8e1c8062e44a793.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks. 07:58:26.290 [error] yt-dlp download error for media item #1012059: "ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 07:58:26.290 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012059},"id":419872,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1810753,"event":"job:exception","queue_time":265280,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 07:58:53.534 [info] {"source":"oban","duration":7679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:00.090 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:59:23.542 [info] {"source":"oban","duration":7755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:53.551 [info] {"source":"oban","duration":7911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:00.091 [info] {"source":"oban","duration":137,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:00:23.558 [info] {"source":"oban","duration":5713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:47.577 [info] GET /sitemap.xml 08:00:47.577 [debug] QUERY OK source="settings" db=0.1ms idle=900.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:00:47.577 [debug] QUERY OK source="settings" db=0.1ms idle=420.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:00:47.577 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:00:47.577 [error] #PID<0.1179791.0> running PinchflatWeb.Endpoint (connection #PID<0.1179738.0>, stream id 1) terminated Server: tubesync.cochrun.xyz: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.1179738.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 37278}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179791.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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2OzxVmpBlzHHcBdPUC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1179738.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 37278}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, 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.1179738.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 37278}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1179791.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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2OzxVmpBlzHHcBdPUC"} ], (truncated) 08:00:51.691 [info] {"args":{"id":1012059},"id":419872,"meta":{},"system_time":1782738051691041182,"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"]} 08:00:51.692 [debug] QUERY OK source="media_items" db=0.7ms idle=534.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" = ?) [1012059] 08:00:51.692 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:00:51.692 [debug] QUERY OK source="sources" db=0.6ms idle=535.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:00:51.693 [debug] QUERY OK source="media_profiles" db=0.1ms idle=536.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:00:51.694 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 [1012059] 08:00:51.695 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.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" = ?) [1012059] 08:00:51.696 [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] 08:00:51.696 [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 [] 08:00:51.696 [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 [] 08:00:51.696 [debug] Running yt-dlp command for action: get_downloadable_status 08:00:51.698 [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 [] 08:00:51.698 [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 [] 08:00:51.698 [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 [] 08:00:51.698 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/89/24/892434eabd4d68c1ab968fa684835678214a09871066d4d5cd322077239e477a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:00:53.445 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/89/24/892434eabd4d68c1ab968fa684835678214a09871066d4d5cd322077239e477a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks. 08:00:53.445 [error] yt-dlp download error for media item #1012059: "ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 08:00:53.446 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012059},"id":419872,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1754975,"event":"job:exception","queue_time":399493,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:00:53.567 [info] {"source":"oban","duration":8156,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:00.092 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:01:23.576 [info] {"source":"oban","duration":8028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:01:53.585 [info] {"source":"oban","duration":8514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:00.093 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:02:23.593 [info] {"source":"oban","duration":7368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:53.601 [info] {"source":"oban","duration":7677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:57.881 [info] {"args":{"id":3287051},"id":412599,"meta":{},"system_time":1782738177881039708,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":18,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:02:57.881 [debug] QUERY OK source="media_items" db=0.6ms idle=723.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" = ?) [3287051] 08:02:57.881 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:02:57.882 [debug] QUERY OK source="sources" db=0.5ms idle=724.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:02:57.883 [debug] QUERY OK source="media_profiles" db=0.5ms idle=725.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:02:57.883 [debug] QUERY OK source="media_items" db=0.1ms 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 [3287051] 08:02:57.884 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [3287051] 08:02:57.885 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 08:02:57.885 [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 [] 08:02:57.885 [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 [] 08:02:57.885 [debug] Running yt-dlp command for action: get_downloadable_status 08:02:57.886 [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 [] 08:02:57.886 [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 [] 08:02:57.886 [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 [] 08:02:57.887 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2irCIuypCN8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a3/50/a350faefb5c729affbf6a307abdd888d41f7921340115958c092ca846942ed16.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:02:59.664 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2irCIuypCN8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a3/50/a350faefb5c729affbf6a307abdd888d41f7921340115958c092ca846942ed16.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 2irCIuypCN8: Join this channel to get access to members-only content like this video, and other exclusive perks. 08:02:59.664 [error] yt-dlp download error for media item #3287051: "ERROR: [youtube] 2irCIuypCN8: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 08:02:59.665 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3287051},"id":412599,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1783633,"event":"job:exception","queue_time":811754,"attempt":18,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:03:00.095 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:03:23.611 [info] {"source":"oban","duration":7854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:41.953 [info] {"args":{"id":51},"id":419871,"meta":{},"system_time":1782738221953857162,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:03:41.954 [debug] QUERY OK source="sources" db=0.2ms idle=797.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:03:41.954 [debug] QUERY OK source="settings" db=0.2ms idle=797.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:03:41.955 [debug] QUERY OK source="media_profiles" db=0.2ms idle=797.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:03:41.955 [debug] QUERY OK source="settings" db=0.6ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:03:41.955 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 08:03:42.157 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 08:03:42.158 [debug] QUERY OK source="media_items" db=0.5ms idle=203.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 08:03:42.159 [debug] QUERY OK source="media_items" db=0.3ms idle=204.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [51] 08:03:42.160 [debug] QUERY OK source="tasks" db=0.1ms idle=204.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419888, 51, ~U[2026-06-29 13:03:42Z], ~U[2026-06-29 13:03:42Z]] 08:03:42.160 [info] {"args":{"id":51},"id":419871,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":206349,"event":"job:stop","queue_time":705694,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:03:53.620 [info] {"source":"oban","duration":8106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:04:00.096 [info] {"source":"oban","duration":461,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:04:23.628 [info] {"source":"oban","duration":7569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:53.636 [info] {"source":"oban","duration":7811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:00.098 [info] {"source":"oban","duration":163,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:05:23.643 [info] {"source":"oban","duration":5594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:25.118 [info] {"args":{"id":52},"id":419887,"meta":{},"system_time":1782738325118549965,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:05:25.119 [debug] QUERY OK source="sources" db=0.6ms idle=1961.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:25.120 [debug] QUERY OK source="settings" db=0.5ms idle=1476.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:25.120 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1009.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:25.120 [debug] QUERY OK source="settings" db=0.1ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:25.121 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 08:05:25.261 [debug] Media ids fetched from RSS: ["ZTNyTK0BQ9Q", "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg"] 08:05:25.262 [debug] QUERY OK source="media_items" db=0.7ms idle=143.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "ZTNyTK0BQ9Q", "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg"] 08:05:25.263 [debug] QUERY OK source="settings" db=0.0ms idle=143.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:25.263 [debug] QUERY OK source="settings" db=0.0ms idle=143.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:25.263 [debug] Running yt-dlp command for action: get_media_attributes 08:05:25.264 [debug] QUERY OK source="settings" db=0.1ms idle=143.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:25.264 [debug] QUERY OK source="settings" db=0.0ms idle=143.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:25.264 [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 [] 08:05:25.264 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZTNyTK0BQ9Q --simulate --skip-download --output /downloads/chris/tubes/bashbunni_[UC9H0HzpKf5JlazkADWnW1Jw]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/fa/a4/faa4a038c8e2e6ddea63dbb3e2da0d3b1da0b40eb1e13d3c18d3133c16e5a68a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:28.540 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZTNyTK0BQ9Q --simulate --skip-download --output /downloads/chris/tubes/bashbunni_[UC9H0HzpKf5JlazkADWnW1Jw]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/fa/a4/faa4a038c8e2e6ddea63dbb3e2da0d3b1da0b40eb1e13d3c18d3133c16e5a68a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 08:05:28.541 [debug] QUERY OK source="sources" db=0.1ms idle=1383.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:28.543 [debug] QUERY OK source="media_items" db=1.9ms idle=1384.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-29 12:45:38Z], 52] 08:05:28.544 [debug] QUERY OK source="media_items" db=1.1ms idle=1386.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["https://vercel.com/ship", "I'm going to Vercel Ship to see how big tech is using AI (ft. @vercel)", "f9476a21-42ce-4142-854e-37714471f377", "ZTNyTK0BQ9Q", 41, false, "https://www.youtube.com/watch?v=ZTNyTK0BQ9Q", 0, "/downloads/chris/tubes/bashbunni_[UC9H0HzpKf5JlazkADWnW1Jw]/Season 2026/s2026e062900_I'm going to Vercel Ship to see how big tech is using AI (ft. @vercel).mp4", false, false, true, 52, [], 99, ~U[2026-06-29 12:45:38Z], ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z], "https://vercel.com/ship", "I'm going to Vercel Ship to see how big tech is using AI (ft. @vercel)", "ZTNyTK0BQ9Q", 41, false, "https://www.youtube.com/watch?v=ZTNyTK0BQ9Q", "/downloads/chris/tubes/bashbunni_[UC9H0HzpKf5JlazkADWnW1Jw]/Season 2026/s2026e062900_I'm going to Vercel Ship to see how big tech is using AI (ft. @vercel).mp4", true, 52, ~U[2026-06-29 12:45:38Z]] 08:05:28.545 [debug] QUERY OK source="sources" db=0.1ms idle=1387.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:28.545 [debug] QUERY OK source="media_profiles" db=0.1ms idle=428.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:28.545 [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 [3312101] 08:05:28.545 [info] Kicking off download for media item #3312101 (ZTNyTK0BQ9Q) 08:05:28.548 [debug] QUERY OK source="tasks" db=0.1ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419889, 3312101, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.548 [debug] QUERY OK source="media_items" db=0.5ms idle=2.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [52] 08:05:28.551 [debug] QUERY OK source="tasks" db=0.2ms idle=3.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419890, 1301334, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.553 [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" [419891, 1301335, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.555 [info] {"args":{"id":3312101},"id":419889,"meta":{},"system_time":1782738328554988993,"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"]} 08:05:28.555 [info] {"args":{"id":1301334},"id":419890,"meta":{},"system_time":1782738328555026556,"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"]} 08:05:28.555 [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."id" = ?) [1301334] 08:05:28.555 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:28.555 [debug] QUERY OK source="media_items" db=0.7ms 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" = ?) [3312101] 08:05:28.556 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:28.556 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [52] 08:05:28.556 [debug] QUERY OK source="sources" db=0.4ms idle=1.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:28.556 [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] 08:05:28.557 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:28.557 [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 [1301334] 08:05:28.557 [debug] QUERY OK source="media_items" db=0.4ms 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 [3312101] 08:05:28.558 [debug] QUERY OK source="tasks" db=0.2ms idle=1.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419892, 1301347, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.558 [debug] QUERY OK source="media_metadata" db=0.2ms 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" = ?) [1301334] 08:05:28.559 [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] 08:05:28.559 [debug] QUERY OK source="settings" db=0.2ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:28.559 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [3312101] 08:05:28.560 [debug] QUERY OK source="settings" db=0.3ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:28.561 [debug] QUERY OK source="media_profiles" db=1.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] 08:05:28.561 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:28.561 [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 [] 08:05:28.561 [debug] QUERY OK source="tasks" db=0.3ms idle=1.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419893, 1301392, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.561 [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 [] 08:05:28.561 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:28.562 [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 [] 08:05:28.562 [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 [] 08:05:28.562 [debug] QUERY OK source="settings" db=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:28.562 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/8f/8b8fa0a60220ea2f3ea54df77bbdf79011555aa846e4ad037d04f82b3ac496bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:28.562 [debug] QUERY OK source="settings" db=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:28.563 [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 [] 08:05:28.563 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:28.563 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZTNyTK0BQ9Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/69/bd/69bd826428b26da4278c4074f32d9275c014001c2e217fb7c17617820370fe99.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:28.564 [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" [419894, 1301393, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.567 [debug] QUERY OK source="tasks" db=0.5ms idle=2.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419895, 1301394, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.569 [debug] QUERY OK source="tasks" db=0.2ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419896, 1301395, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.572 [debug] QUERY OK source="tasks" db=0.1ms idle=3.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419897, 1301397, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.574 [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" [419898, 1301398, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.577 [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" [419899, 1301399, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.579 [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" [419900, 1301400, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.581 [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" [419901, 2720968, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.582 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:28.582 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:28.583 [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 [3312101] 08:05:28.583 [info] No notification servers provided for source 52 08:05:28.584 [debug] QUERY OK source="tasks" db=0.2ms idle=1.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419902, 52, ~U[2026-06-29 13:05:28Z], ~U[2026-06-29 13:05:28Z]] 08:05:28.584 [info] {"args":{"id":52},"id":419887,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":3465529,"event":"job:stop","queue_time":817240,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:05:30.197 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/8f/8b8fa0a60220ea2f3ea54df77bbdf79011555aa846e4ad037d04f82b3ac496bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:05:30.197 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:30.197 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:30.198 [info] {"args":{"id":1301334},"id":419890,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1642665,"event":"job:stop","queue_time":553882,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:30.204 [info] {"args":{"id":1301335},"id":419891,"meta":{},"system_time":1782738330204635122,"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"]} 08:05:30.205 [debug] QUERY OK source="media_items" db=0.2ms idle=47.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" = ?) [1301335] 08:05:30.205 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:30.205 [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" = ?) [52] 08:05:30.205 [debug] QUERY OK source="media_profiles" db=0.1ms idle=48.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:30.206 [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 [1301335] 08:05:30.206 [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" = ?) [1301335] 08:05:30.206 [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] 08:05:30.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 [] 08:05:30.207 [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 [] 08:05:30.207 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:30.208 [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 [] 08:05:30.208 [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 [] 08:05:30.208 [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 [] 08:05:30.208 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4d/4d/4d4d793ac3d5d8c548eca888829cd1852da378e810bf0814007a3988afd722cc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:31.789 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZTNyTK0BQ9Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/69/bd/69bd826428b26da4278c4074f32d9275c014001c2e217fb7c17617820370fe99.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 08:05:31.789 [debug] Running yt-dlp command for action: download 08:05:31.789 [debug] QUERY OK source="settings" db=0.1ms idle=1582.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:31.789 [debug] QUERY OK source="settings" db=0.0ms idle=1581.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:31.789 [debug] QUERY OK source="settings" db=0.0ms idle=1581.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:31.789 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZTNyTK0BQ9Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/chris/tubes/bashbunni_[UC9H0HzpKf5JlazkADWnW1Jw]/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 --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor,intro,outro --output /downloads/chris/tubes/bashbunni_[UC9H0HzpKf5JlazkADWnW1Jw]/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/23/a9/23a9cdc1a714275210faeb3cb4afa701647637571388445e0e355f731cfa600c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:32.104 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4d/4d/4d4d793ac3d5d8c548eca888829cd1852da378e810bf0814007a3988afd722cc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:05:32.104 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:32.104 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:32.105 [info] {"args":{"id":1301335},"id":419891,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1900218,"event":"job:stop","queue_time":2203907,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:32.111 [info] {"args":{"id":1301347},"id":419892,"meta":{},"system_time":1782738332111799849,"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"]} 08:05:32.112 [debug] QUERY OK source="media_items" db=0.1ms idle=322.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" = ?) [1301347] 08:05:32.112 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:32.112 [debug] QUERY OK source="sources" db=0.2ms idle=322.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:32.112 [debug] QUERY OK source="media_profiles" db=0.1ms idle=322.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:32.113 [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 [1301347] 08:05:32.114 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301347] 08:05:32.114 [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] 08:05:32.115 [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 [] 08:05:32.115 [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 [] 08:05:32.115 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:32.116 [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 [] 08:05:32.116 [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 [] 08:05:32.116 [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 [] 08:05:32.116 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7a/d5/7ad55dc0fcbe9a2ac44a44faeacfd8d3ed012a4e5e6def2e6b38328c75e8dffc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:33.995 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7a/d5/7ad55dc0fcbe9a2ac44a44faeacfd8d3ed012a4e5e6def2e6b38328c75e8dffc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:05:33.995 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:33.995 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:33.996 [info] {"args":{"id":1301347},"id":419892,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1884117,"event":"job:stop","queue_time":4110919,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:34.002 [info] {"args":{"id":1301392},"id":419893,"meta":{},"system_time":1782738334002561406,"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"]} 08:05:34.002 [debug] QUERY OK source="media_items" db=0.1ms idle=845.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" = ?) [1301392] 08:05:34.003 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:34.003 [debug] QUERY OK source="sources" db=0.1ms idle=846.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:34.003 [debug] QUERY OK source="media_profiles" db=0.1ms idle=846.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:34.004 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301392] 08:05:34.005 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301392] 08:05:34.005 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:34.006 [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 [] 08:05:34.006 [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 [] 08:05:34.006 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:34.007 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:34.007 [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 [] 08:05:34.007 [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 [] 08:05:34.007 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/43/434331cece6115fd2bf6d554e8ca25b880a188c80958bdf4f7346ca68c21a68a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:35.880 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/43/434331cece6115fd2bf6d554e8ca25b880a188c80958bdf4f7346ca68c21a68a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:05:35.880 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:35.881 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:35.881 [info] {"args":{"id":1301392},"id":419893,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1878568,"event":"job:stop","queue_time":6001938,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:35.888 [info] {"args":{"id":1301393},"id":419894,"meta":{},"system_time":1782738335887951033,"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"]} 08:05:35.888 [debug] QUERY OK source="media_items" db=0.2ms idle=731.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" = ?) [1301393] 08:05:35.888 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:35.888 [debug] QUERY OK source="sources" db=0.1ms idle=731.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:35.889 [debug] QUERY OK source="media_profiles" db=0.1ms idle=731.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:35.889 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301393] 08:05:35.890 [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" = ?) [1301393] 08:05:35.890 [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] 08:05:35.891 [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 [] 08:05:35.891 [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 [] 08:05:35.891 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:35.892 [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 [] 08:05:35.892 [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 [] 08:05:35.892 [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 [] 08:05:35.892 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f8/9d/f89dcfb456a2f61dc62950389b182f07b9ecaa32eab3ba5795ad1f36cc748d9e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:37.680 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f8/9d/f89dcfb456a2f61dc62950389b182f07b9ecaa32eab3ba5795ad1f36cc748d9e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:05:37.681 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:37.681 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:37.681 [info] {"args":{"id":1301393},"id":419894,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1793198,"event":"job:stop","queue_time":7886896,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:37.687 [info] {"args":{"id":1301394},"id":419895,"meta":{},"system_time":1782738337687596279,"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"]} 08:05:37.687 [debug] QUERY OK source="media_items" db=0.1ms idle=530.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" = ?) [1301394] 08:05:37.688 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:37.688 [debug] QUERY OK source="sources" db=0.1ms idle=531.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:37.688 [debug] QUERY OK source="media_profiles" db=0.1ms idle=531.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:37.689 [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 [1301394] 08:05:37.689 [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" = ?) [1301394] 08:05:37.690 [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] 08:05:37.690 [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 [] 08:05:37.690 [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 [] 08:05:37.690 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:37.691 [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 [] 08:05:37.691 [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 [] 08:05:37.691 [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 [] 08:05:37.691 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0f/3c/0f3c4de03561a390c1e3ca0a75349ec6b4d848f795607a3c07d713e16a2ee04b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:38.702 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZTNyTK0BQ9Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/chris/tubes/bashbunni_[UC9H0HzpKf5JlazkADWnW1Jw]/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 --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor,intro,outro --output /downloads/chris/tubes/bashbunni_[UC9H0HzpKf5JlazkADWnW1Jw]/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/23/a9/23a9cdc1a714275210faeb3cb4afa701647637571388445e0e355f731cfa600c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 08:05:38.718 [debug] Running yt-dlp command for action: download_thumbnail 08:05:38.719 [debug] QUERY OK source="settings" db=0.1ms idle=1028.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:38.719 [debug] QUERY OK source="settings" db=0.0ms idle=1027.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:38.719 [debug] QUERY OK source="settings" db=0.0ms idle=1027.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:38.719 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZTNyTK0BQ9Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3312101/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/eb/1d/eb1d53ee8e53e95d524e00442875363003f44d095d76982321565a7f57807a21.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:39.491 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0f/3c/0f3c4de03561a390c1e3ca0a75349ec6b4d848f795607a3c07d713e16a2ee04b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:05:39.491 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:39.491 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:39.491 [info] {"args":{"id":1301394},"id":419895,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1803796,"event":"job:stop","queue_time":9686939,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:39.498 [info] {"args":{"id":1301395},"id":419896,"meta":{},"system_time":1782738339498477643,"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"]} 08:05:39.498 [debug] QUERY OK source="media_items" db=0.1ms idle=779.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" = ?) [1301395] 08:05:39.499 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:39.499 [debug] QUERY OK source="sources" db=0.1ms idle=368.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:39.499 [debug] QUERY OK source="media_profiles" db=0.1ms idle=341.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:39.500 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301395] 08:05:39.500 [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" = ?) [1301395] 08:05:39.501 [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] 08:05:39.501 [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 [] 08:05:39.501 [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 [] 08:05:39.501 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:39.502 [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 [] 08:05:39.502 [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 [] 08:05:39.502 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:39.502 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f8/33/f833dd2dff8479d72d0f211b7bd0786a6512eebc2bf8f55284af90e41d859117.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:41.327 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f8/33/f833dd2dff8479d72d0f211b7bd0786a6512eebc2bf8f55284af90e41d859117.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:05:41.327 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:41.328 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:41.328 [info] {"args":{"id":1301395},"id":419896,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1829570,"event":"job:stop","queue_time":11497908,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:41.334 [info] {"args":{"id":1301397},"id":419897,"meta":{},"system_time":1782738341334654451,"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"]} 08:05:41.335 [debug] QUERY OK source="media_items" db=0.1ms idle=177.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" = ?) [1301397] 08:05:41.335 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:41.335 [debug] QUERY OK source="sources" db=0.2ms idle=178.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:41.335 [debug] QUERY OK source="media_profiles" db=0.1ms idle=178.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:41.336 [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 [1301397] 08:05:41.337 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301397] 08:05:41.337 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:41.338 [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 [] 08:05:41.338 [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 [] 08:05:41.338 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:41.339 [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 [] 08:05:41.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 [] 08:05:41.339 [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 [] 08:05:41.339 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/be/6a/be6abea0f31e4b90aa29e811d1d018caffe048940c1a9e791c2778d72576da46.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:42.050 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZTNyTK0BQ9Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3312101/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/eb/1d/eb1d53ee8e53e95d524e00442875363003f44d095d76982321565a7f57807a21.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 08:05:42.050 [debug] QUERY OK db=0.0ms idle=712.3ms begin [] 08:05:42.051 [debug] QUERY OK source="media_items" db=1.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 13:05:38Z], "/downloads/chris/tubes/bashbunni_[UC9H0HzpKf5JlazkADWnW1Jw]/Season 2026/s2026e062999_I'm going to Vercel Ship to see how big tech is using AI (ft. @vercel).mp4", "/downloads/chris/tubes/bashbunni_[UC9H0HzpKf5JlazkADWnW1Jw]/Season 2026/s2026e062999_I'm going to Vercel Ship to see how big tech is using AI (ft. @vercel).info.json", "/downloads/chris/tubes/bashbunni_[UC9H0HzpKf5JlazkADWnW1Jw]/Season 2026/s2026e062999_I'm going to Vercel Ship to see how big tech is using AI (ft. @vercel).nfo", "/downloads/chris/tubes/bashbunni_[UC9H0HzpKf5JlazkADWnW1Jw]/Season 2026/s2026e062999_I'm going to Vercel Ship to see how big tech is using AI (ft. @vercel).mp4", "/downloads/chris/tubes/bashbunni_[UC9H0HzpKf5JlazkADWnW1Jw]/Season 2026/s2026e062999_I'm going to Vercel Ship to see how big tech is using AI (ft. @vercel)-thumb.jpg", ~U[2026-06-29 13:05:42Z], 3312101] 08:05:42.052 [debug] QUERY OK source="media_metadata" db=0.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/3312101/metadata.json.gz", "/config/metadata/media_items/3312101/thumbnail.jpg", 3312101, ~U[2026-06-29 13:05:42Z], ~U[2026-06-29 13:05:42Z]] 08:05:42.053 [debug] QUERY OK db=0.2ms commit [] 08:05:42.053 [debug] QUERY OK source="media_items" db=0.3ms idle=715.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [10984916, ~U[2026-06-29 13:05:42Z], 3312101] 08:05:42.053 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:42.054 [info] {"args":{"id":3312101},"id":419889,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":13498700,"event":"job:stop","queue_time":553882,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:42.060 [info] {"args":{"id":1301398},"id":419898,"meta":{},"system_time":1782738342060551275,"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"]} 08:05:42.060 [debug] QUERY OK source="media_items" db=0.1ms idle=721.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" = ?) [1301398] 08:05:42.061 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:42.061 [debug] QUERY OK source="sources" db=0.2ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:42.061 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:42.062 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301398] 08:05:42.063 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301398] 08:05:42.063 [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] 08:05:42.063 [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 [] 08:05:42.064 [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 [] 08:05:42.064 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:42.065 [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 [] 08:05:42.065 [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 [] 08:05:42.065 [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 [] 08:05:42.065 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/0c/ff0c48babf52aabe12ebd8eb8e8dca2c392705ae43337b4d651a102ed71fb936.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:43.224 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/be/6a/be6abea0f31e4b90aa29e811d1d018caffe048940c1a9e791c2778d72576da46.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:05:43.224 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:43.224 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:43.224 [info] {"args":{"id":1301397},"id":419897,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1889817,"event":"job:stop","queue_time":13333892,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:43.231 [info] {"args":{"id":1301399},"id":419899,"meta":{},"system_time":1782738343231497077,"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"]} 08:05:43.231 [debug] QUERY OK source="media_items" db=0.2ms idle=74.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" = ?) [1301399] 08:05:43.232 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:43.232 [debug] QUERY OK source="sources" db=0.1ms idle=75.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:43.232 [debug] QUERY OK source="media_profiles" db=0.1ms idle=75.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:43.233 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301399] 08:05:43.234 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.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" = ?) [1301399] 08:05:43.235 [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] 08:05:43.235 [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 [] 08:05:43.235 [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 [] 08:05:43.235 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:43.236 [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 [] 08:05:43.236 [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 [] 08:05:43.236 [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 [] 08:05:43.237 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/30/e5/30e53b0856493dd567c18a553ca9aa338747c4b3761dacaf26b9af54d87a3b4f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:43.748 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/0c/ff0c48babf52aabe12ebd8eb8e8dca2c392705ae43337b4d651a102ed71fb936.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:05:43.748 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:43.748 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:43.749 [info] {"args":{"id":1301398},"id":419898,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1688390,"event":"job:stop","queue_time":14059892,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:43.755 [info] {"args":{"id":1301400},"id":419900,"meta":{},"system_time":1782738343755471478,"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"]} 08:05:43.755 [debug] QUERY OK source="media_items" db=0.1ms idle=519.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" = ?) [1301400] 08:05:43.756 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:43.756 [debug] QUERY OK source="sources" db=0.1ms idle=519.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:43.756 [debug] QUERY OK source="media_profiles" db=0.1ms idle=519.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:43.756 [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 [1301400] 08:05:43.758 [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" = ?) [1301400] 08:05:43.758 [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] 08:05:43.759 [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 [] 08:05:43.759 [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 [] 08:05:43.759 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:43.760 [debug] QUERY OK source="settings" db=0.0ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:05:43.760 [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 [] 08:05:43.760 [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 [] 08:05:43.761 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/40/11/4011ce91a55c45971d24097bc316d0980463db590c0aba0f4568035dd9e5221a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:44.938 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/30/e5/30e53b0856493dd567c18a553ca9aa338747c4b3761dacaf26b9af54d87a3b4f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:05:44.938 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:44.938 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:44.939 [info] {"args":{"id":1301399},"id":419899,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1707247,"event":"job:stop","queue_time":15230896,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:44.945 [info] {"args":{"id":2720968},"id":419901,"meta":{},"system_time":1782738344945861956,"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"]} 08:05:44.946 [debug] QUERY OK source="media_items" db=0.3ms idle=1185.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" = ?) [2720968] 08:05:44.946 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:44.946 [debug] QUERY OK source="sources" db=0.1ms idle=1185.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:05:44.947 [debug] QUERY OK source="media_profiles" db=0.1ms idle=810.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:44.947 [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 [2720968] 08:05:44.948 [debug] QUERY OK source="media_metadata" db=0.0ms 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" = ?) [2720968] 08:05:44.949 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:05:44.949 [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 [] 08:05:44.949 [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 [] 08:05:44.949 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:44.950 [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 [] 08:05:44.951 [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 [] 08:05:44.951 [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 [] 08:05:44.951 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/15/12/15120bcef72850fcd62515e9aa8c56a59a241859c0ca0157971ab62a3bc57cfb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:45.519 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/40/11/4011ce91a55c45971d24097bc316d0980463db590c0aba0f4568035dd9e5221a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:05:45.520 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:45.520 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:45.520 [info] {"args":{"id":1301400},"id":419900,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1764821,"event":"job:stop","queue_time":15754956,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:45.526 [info] {"args":{"id":1012059},"id":419872,"meta":{},"system_time":1782738345526718249,"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"]} 08:05:45.527 [debug] QUERY OK source="media_items" db=0.2ms idle=575.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" = ?) [1012059] 08:05:45.527 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:05:45.527 [debug] QUERY OK source="sources" db=0.1ms idle=576.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:05:45.528 [debug] QUERY OK source="media_profiles" db=0.2ms idle=389.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] 08:05:45.528 [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 [1012059] 08:05:45.529 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1012059] 08:05:45.529 [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] 08:05:45.529 [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 [] 08:05:45.529 [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 [] 08:05:45.530 [debug] Running yt-dlp command for action: get_downloadable_status 08:05:45.531 [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 [] 08:05:45.531 [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 [] 08:05:45.531 [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 [] 08:05:45.531 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4e/d4/4ed48d9ef4b9b25fdcf9dbced1dfde2e84ed82514d9b5c0a88a2c4a961dedc36.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:05:46.779 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/15/12/15120bcef72850fcd62515e9aa8c56a59a241859c0ca0157971ab62a3bc57cfb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:05:46.779 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:46.779 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:05:46.779 [info] {"args":{"id":2720968},"id":419901,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1833478,"event":"job:stop","queue_time":16944973,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:47.233 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4e/d4/4ed48d9ef4b9b25fdcf9dbced1dfde2e84ed82514d9b5c0a88a2c4a961dedc36.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks. 08:05:47.233 [error] yt-dlp download error for media item #1012059: "ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 08:05:47.234 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012059},"id":419872,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1706853,"event":"job:exception","queue_time":2079828,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:05:53.652 [info] {"source":"oban","duration":8560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:00.099 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:06:23.678 [info] {"source":"oban","duration":24925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:06:53.686 [info] {"source":"oban","duration":7939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:00.100 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:07:23.695 [info] {"source":"oban","duration":7528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:53.704 [info] {"source":"oban","duration":7815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:00.101 [info] {"source":"oban","duration":133,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:08:23.710 [info] {"source":"oban","duration":5223,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:53.716 [info] {"source":"oban","duration":5583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:56.446 [info] {"args":{"id":30},"id":419853,"meta":{},"system_time":1782738536446089767,"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"]} 08:08:56.446 [debug] QUERY OK source="sources" db=0.6ms idle=1289.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:08:56.447 [debug] QUERY OK source="settings" db=0.6ms idle=1290.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:08:56.452 [debug] QUERY OK source="media_items" db=4.4ms idle=1014.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")))) [30] 08:08:56.453 [debug] QUERY OK source="media_items" db=0.9ms idle=13.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 08:08:56.453 [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] 08:08:56.454 [debug] QUERY OK source="settings" db=0.0ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:08:56.454 [debug] QUERY OK source="settings" db=0.0ms idle=6.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:08:56.459 [debug] QUERY OK source="media_items" db=3.6ms idle=3.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [30] 08:08:56.460 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 08:08:56.461 [debug] Current batch of media processed. Will check again in 1000ms 08:08:56.461 [debug] QUERY OK source="settings" db=0.0ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:08:56.461 [debug] QUERY OK source="settings" db=0.0ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:08:56.461 [debug] QUERY OK source="settings" db=0.0ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:08:56.461 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCld68syR8Wi-GY_n4CaoJGA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/fa/7c/fa7c8da74fb66c19f389ab9c08f819fd6f20ee19747e88e03d8c83b3f53e0c2b.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/d3/3b/d33b9ef942235d5b1c5fe045855cb85c53e4452f5920cb32fa9e1c914e69d195.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:08:57.462 [debug] Current batch of media processed. Will check again in 1000ms 08:08:58.463 [debug] Current batch of media processed. Will check again in 1000ms 08:08:59.464 [debug] Current batch of media processed. Will check again in 1000ms 08:09:00.102 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:09:00.464 [debug] Current batch of media processed. Will check again in 1000ms 08:09:01.466 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1191, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", "id" => "3PzEmiSDgd0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3PzEmiSDgd0", "playlist_index" => 1, "timestamp" => 1782667801, "title" => "I tried installing Steam OS", "upload_date" => "20260628"} 08:09:01.466 [debug] QUERY OK source="sources" db=0.2ms idle=1309.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:01.467 [debug] QUERY OK source="sources" db=0.1ms idle=1310.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:01.468 [debug] QUERY OK source="media_items" db=1.3ms idle=1021.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-28 17:30:01Z], 30] 08:09:01.470 [debug] QUERY OK source="media_items" db=1.1ms idle=311.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "7640bd73-27fa-44ec-b930-6b88bb26459a", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, false, false, 30, [], 98, ~U[2026-06-28 17:30:01Z], ~U[2026-06-29 13:09:01Z], ~U[2026-06-29 13:09:01Z], "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, 30, ~U[2026-06-28 17:30:01Z]] 08:09:01.470 [debug] QUERY OK source="sources" db=0.1ms idle=22.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:09:01.470 [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] 08:09:01.471 [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 [3305566] 08:09:01.471 [debug] Current batch of media processed. Will check again in 1000ms 08:09:02.472 [debug] Current batch of media processed. Will check again in 1000ms 08:09:03.473 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1364, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", "id" => "C7rXBdgObno", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=C7rXBdgObno", "playlist_index" => 2, "timestamp" => 1782581435, "title" => "I'm In Love With KDE Plasma's New Theme", "upload_date" => "20260627"} 08:09:03.473 [debug] QUERY OK source="sources" db=0.2ms idle=316.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:03.473 [debug] QUERY OK source="sources" db=0.1ms idle=316.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:03.478 [debug] QUERY OK source="media_items" db=4.5ms idle=316.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 17:30:35Z], 30] 08:09:03.480 [debug] QUERY OK source="media_items" db=1.0ms idle=321.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "2ada2d68-0cc9-44ff-978c-ffd957c97823", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, false, false, 30, [], 98, ~U[2026-06-27 17:30:35Z], ~U[2026-06-29 13:09:03Z], ~U[2026-06-29 13:09:03Z], "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, 30, ~U[2026-06-27 17:30:35Z]] 08:09:03.480 [debug] QUERY OK source="sources" db=0.1ms idle=29.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:09:03.480 [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] 08:09:03.481 [debug] QUERY OK source="media_items" db=0.2ms 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 [3297662] 08:09:03.481 [debug] Current batch of media processed. Will check again in 1000ms 08:09:04.482 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1187, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", "id" => "iWcFXmnPYoQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "playlist_index" => 3, "timestamp" => 1782322215, "title" => "I was wrong about SteamOS", "upload_date" => "20260624"} 08:09:04.482 [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 (?)) [30] 08:09:04.483 [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" = ?) [30] 08:09:04.487 [debug] QUERY OK source="media_items" db=4.6ms idle=1002.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-24 17:30:15Z], 30] 08:09:04.489 [debug] QUERY OK source="media_items" db=1.0ms idle=1007.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "e98140f9-5969-40e7-bd55-0e12e9742107", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, false, false, 30, [], 98, ~U[2026-06-24 17:30:15Z], ~U[2026-06-29 13:09:04Z], ~U[2026-06-29 13:09:04Z], "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, 30, ~U[2026-06-24 17:30:15Z]] 08:09:04.489 [debug] QUERY OK source="sources" db=0.1ms idle=36.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:09:04.489 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:09:04.490 [debug] QUERY OK source="media_items" db=0.1ms 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 [3274030] 08:09:04.490 [debug] Current batch of media processed. Will check again in 1000ms 08:09:05.491 [debug] Current batch of media processed. Will check again in 1000ms 08:09:06.492 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1559, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", "id" => "wPXqhfgTV9M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wPXqhfgTV9M", "playlist_index" => 4, "timestamp" => 1782235809, "title" => "Stack Overflow Is Having An Existential Crisis", "upload_date" => "20260623"} 08:09:06.493 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=335.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:06.493 [debug] QUERY OK source="sources" db=0.1ms idle=336.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:06.498 [debug] QUERY OK source="media_items" db=4.5ms idle=336.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 17:30:09Z], 30] 08:09:06.499 [debug] QUERY OK source="media_items" db=1.0ms idle=341.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "a4ffe21b-54b0-4275-be14-3e05a60ec1c3", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, false, false, 30, [], 98, ~U[2026-06-23 17:30:09Z], ~U[2026-06-29 13:09:06Z], ~U[2026-06-29 13:09:06Z], "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, 30, ~U[2026-06-23 17:30:09Z]] 08:09:06.500 [debug] QUERY OK source="sources" db=0.2ms idle=43.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:09:06.500 [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] 08:09:06.500 [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 [3266154] 08:09:06.500 [debug] Current batch of media processed. Will check again in 1000ms 08:09:07.501 [debug] Current batch of media processed. Will check again in 1000ms 08:09:08.502 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1169, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", "id" => "xe75b6OSR90", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xe75b6OSR90", "playlist_index" => 5, "timestamp" => 1782149404, "title" => "X11 Will Completely End Without Your Help", "upload_date" => "20260622"} 08:09:08.503 [debug] QUERY OK source="sources" db=0.2ms idle=345.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:08.503 [debug] QUERY OK source="sources" db=0.1ms idle=346.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:08.508 [debug] QUERY OK source="media_items" db=4.4ms idle=346.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-22 17:30:04Z], 30] 08:09:08.509 [debug] QUERY OK source="media_items" db=0.8ms idle=350.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "7b4baaa4-f8c4-43c2-80bc-5da026810e8d", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-06-22 17:30:04Z], ~U[2026-06-29 13:09:08Z], ~U[2026-06-29 13:09:08Z], "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, 30, ~U[2026-06-22 17:30:04Z]] 08:09:08.510 [debug] QUERY OK source="sources" db=0.1ms idle=50.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:09:08.510 [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] 08:09:08.510 [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 [3258286] 08:09:08.510 [debug] Current batch of media processed. Will check again in 1000ms 08:09:09.511 [debug] Current batch of media processed. Will check again in 1000ms 08:09:10.512 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1122, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", "id" => "uswAKkgmllA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uswAKkgmllA", "playlist_index" => 6, "timestamp" => 1782063038, "title" => "The Weird World Of Alternate Root DNS", "upload_date" => "20260621"} 08:09:10.512 [debug] QUERY OK source="sources" db=0.2ms idle=355.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:10.513 [debug] QUERY OK source="sources" db=0.1ms idle=355.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:10.517 [debug] QUERY OK source="media_items" db=4.5ms idle=356.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-21 17:30:38Z], 30] 08:09:10.519 [debug] QUERY OK source="media_items" db=1.1ms idle=360.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "9ce197c7-76bc-4bca-8c36-125cc9c2e5c8", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, false, false, 30, [], 98, ~U[2026-06-21 17:30:38Z], ~U[2026-06-29 13:09:10Z], ~U[2026-06-29 13:09:10Z], "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, 30, ~U[2026-06-21 17:30:38Z]] 08:09:10.519 [debug] QUERY OK source="sources" db=0.2ms idle=56.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:10.520 [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] 08:09:10.520 [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 [3250444] 08:09:10.520 [debug] Current batch of media processed. Will check again in 1000ms 08:09:11.521 [debug] Current batch of media processed. Will check again in 1000ms 08:09:12.523 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1488, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", "id" => "VR20JYYXH6Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VR20JYYXH6Q", "playlist_index" => 7, "timestamp" => 1781976608, "title" => "Stay Safe On The AUR In The Face Of Arch Linux Malware", "upload_date" => "20260620"} 08:09:12.523 [debug] QUERY OK source="sources" db=0.2ms idle=366.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:12.524 [debug] QUERY OK source="sources" db=0.1ms idle=366.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:12.528 [debug] QUERY OK source="media_items" db=4.5ms idle=366.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-20 17:30:08Z], 30] 08:09:12.530 [debug] QUERY OK source="media_items" db=0.9ms idle=371.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "36afc051-e457-4083-a8bb-6f6d24331fec", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, false, false, 30, [], 98, ~U[2026-06-20 17:30:08Z], ~U[2026-06-29 13:09:12Z], ~U[2026-06-29 13:09:12Z], "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, 30, ~U[2026-06-20 17:30:08Z]] 08:09:12.530 [debug] QUERY OK source="sources" db=0.1ms idle=63.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:09:12.530 [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] 08:09:12.531 [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 [3242381] 08:09:12.531 [debug] Current batch of media processed. Will check again in 1000ms 08:09:13.532 [debug] Current batch of media processed. Will check again in 1000ms 08:09:14.533 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1090, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", "id" => "d7MTYqID8VY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d7MTYqID8VY", "playlist_index" => 8, "timestamp" => 1781803802, "title" => "Tridge Responds To The Claimed Rsync AI Caused Regressions", "upload_date" => "20260618"} 08:09:14.533 [debug] QUERY OK source="sources" db=0.2ms idle=376.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:14.534 [debug] QUERY OK source="sources" db=0.1ms idle=376.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:14.539 [debug] QUERY OK source="media_items" db=4.8ms idle=377.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-18 17:30:02Z], 30] 08:09:14.540 [debug] QUERY OK source="media_items" db=1.0ms idle=382.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "1e50d55a-d715-4746-9899-6ece8cac9c22", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, false, false, 30, [], 98, ~U[2026-06-18 17:30:02Z], ~U[2026-06-29 13:09:14Z], ~U[2026-06-29 13:09:14Z], "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, 30, ~U[2026-06-18 17:30:02Z]] 08:09:14.540 [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" = ?) [30] 08:09:14.541 [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] 08:09:14.541 [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 [3226631] 08:09:14.541 [debug] Current batch of media processed. Will check again in 1000ms 08:09:15.542 [debug] Current batch of media processed. Will check again in 1000ms 08:09:16.543 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1081, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", "id" => "tgyxIC3J8cs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tgyxIC3J8cs", "playlist_index" => 9, "timestamp" => 1781717431, "title" => "KDE Plasma 6.7 Has Finally Come", "upload_date" => "20260617"} 08:09:16.543 [debug] QUERY OK source="sources" db=0.2ms 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 (?)) [30] 08:09:16.543 [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" = ?) [30] 08:09:16.548 [debug] QUERY OK source="media_items" db=4.5ms 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[2026-06-17 17:30:31Z], 30] 08:09:16.551 [debug] QUERY OK source="media_items" db=2.5ms idle=391.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "599d0af3-820d-4e13-b1d3-f607894700cc", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, false, false, 30, [], 98, ~U[2026-06-17 17:30:31Z], ~U[2026-06-29 13:09:16Z], ~U[2026-06-29 13:09:16Z], "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, 30, ~U[2026-06-17 17:30:31Z]] 08:09:16.552 [debug] QUERY OK source="sources" db=0.1ms idle=79.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:16.552 [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] 08:09:16.552 [debug] QUERY OK source="media_items" db=0.1ms idle=8.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 [3218823] 08:09:16.552 [debug] Current batch of media processed. Will check again in 1000ms 08:09:17.553 [debug] Current batch of media processed. Will check again in 1000ms 08:09:18.554 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1130, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", "id" => "VeudOzqpHHs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VeudOzqpHHs", "playlist_index" => 10, "timestamp" => 1781631008, "title" => "The AUR Malware Attack Never Stopped", "upload_date" => "20260616"} 08:09:18.555 [debug] QUERY OK source="sources" db=0.2ms idle=397.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:18.555 [debug] QUERY OK source="sources" db=0.1ms idle=398.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:18.560 [debug] QUERY OK source="media_items" db=4.4ms idle=398.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 17:30:08Z], 30] 08:09:18.562 [debug] QUERY OK source="media_items" db=1.3ms idle=402.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "3e70ef3e-7941-491d-a4cc-436f4c8a0a79", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, false, false, 30, [], 98, ~U[2026-06-16 17:30:08Z], ~U[2026-06-29 13:09:18Z], ~U[2026-06-29 13:09:18Z], "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, 30, ~U[2026-06-16 17:30:08Z]] 08:09:18.562 [debug] QUERY OK source="sources" db=0.1ms idle=85.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:09:18.562 [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] 08:09:18.562 [debug] QUERY OK source="media_items" db=0.1ms 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 [3210881] 08:09:18.563 [debug] Current batch of media processed. Will check again in 1000ms 08:09:19.564 [debug] Current batch of media processed. Will check again in 1000ms 08:09:20.565 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1198, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", "id" => "dFnZyoLXVa4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dFnZyoLXVa4", "playlist_index" => 11, "timestamp" => 1781544603, "title" => "Ladybird Browser Stops Accepting Public Pull Requests", "upload_date" => "20260615"} 08:09:20.565 [debug] QUERY OK source="sources" db=0.2ms idle=408.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:20.565 [debug] QUERY OK source="sources" db=0.1ms idle=408.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:20.570 [debug] QUERY OK source="media_items" db=4.6ms idle=409.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-15 17:30:03Z], 30] 08:09:20.572 [debug] QUERY OK source="media_items" db=1.1ms idle=414.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "fc2843ec-c88f-41d6-8cd9-ae69078abce9", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, false, false, 30, [], 98, ~U[2026-06-15 17:30:03Z], ~U[2026-06-29 13:09:20Z], ~U[2026-06-29 13:09:20Z], "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, 30, ~U[2026-06-15 17:30:03Z]] 08:09:20.572 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [30] 08:09:20.573 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:09:20.573 [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 [3202877] 08:09:20.573 [debug] Current batch of media processed. Will check again in 1000ms 08:09:21.573 [debug] Current batch of media processed. Will check again in 1000ms 08:09:22.575 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 3383, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", "id" => "BBwZs0lxeNk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BBwZs0lxeNk", "playlist_index" => 12, "timestamp" => 1781458202, "title" => "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "upload_date" => "20260614"} 08:09:22.576 [debug] QUERY OK source="sources" db=0.1ms idle=418.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:22.576 [debug] QUERY OK source="sources" db=0.1ms idle=418.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:22.581 [debug] QUERY OK source="media_items" db=4.8ms idle=419.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-14 17:30:02Z], 30] 08:09:22.583 [debug] QUERY OK source="media_items" db=1.0ms idle=424.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "1ebd73a3-1c9c-4b5e-ab6a-b0f3483cbbdd", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, false, false, 30, [], 98, ~U[2026-06-14 17:30:02Z], ~U[2026-06-29 13:09:22Z], ~U[2026-06-29 13:09:22Z], "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, 30, ~U[2026-06-14 17:30:02Z]] 08:09:22.583 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [30] 08:09:22.583 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:09:22.584 [debug] QUERY OK source="media_items" db=0.1ms 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 [3195147] 08:09:22.584 [debug] Current batch of media processed. Will check again in 1000ms 08:09:23.585 [debug] Current batch of media processed. Will check again in 1000ms 08:09:23.725 [info] {"source":"oban","duration":8653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:24.586 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1205, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", "id" => "gXQLC3Sontc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gXQLC3Sontc", "playlist_index" => 13, "timestamp" => 1781371817, "title" => "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "upload_date" => "20260613"} 08:09:24.586 [debug] QUERY OK source="sources" db=0.1ms idle=861.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:24.587 [debug] QUERY OK source="sources" db=0.1ms idle=429.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:24.592 [debug] QUERY OK source="media_items" db=4.7ms idle=430.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-13 17:30:17Z], 30] 08:09:24.593 [debug] QUERY OK source="media_items" db=1.1ms idle=435.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "bcfcede8-88a5-467d-b176-a499f99da63d", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, false, false, 30, [], 98, ~U[2026-06-13 17:30:17Z], ~U[2026-06-29 13:09:24Z], ~U[2026-06-29 13:09:24Z], "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, 30, ~U[2026-06-13 17:30:17Z]] 08:09:24.594 [debug] QUERY OK source="sources" db=0.1ms idle=105.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:09:24.594 [debug] QUERY OK source="media_profiles" db=0.5ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:09:24.595 [debug] QUERY OK source="media_items" db=0.1ms 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 [3187102] 08:09:24.595 [debug] Current batch of media processed. Will check again in 1000ms 08:09:25.596 [debug] Current batch of media processed. Will check again in 1000ms 08:09:26.597 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1221, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", "id" => "WoxR7fGl4CI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WoxR7fGl4CI", "playlist_index" => 14, "timestamp" => 1781285431, "title" => "Massive AUR Malware Attack: DO NOT UPDATE", "upload_date" => "20260612"} 08:09:26.597 [debug] QUERY OK source="sources" db=0.1ms idle=440.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:26.597 [debug] QUERY OK source="sources" db=0.1ms idle=440.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:26.602 [debug] QUERY OK source="media_items" db=4.8ms idle=440.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-12 17:30:31Z], 30] 08:09:26.605 [debug] QUERY OK source="media_items" db=2.2ms idle=445.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "3440dfcb-ddfc-4d2a-b7f8-33c9b1dd6593", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, false, false, 30, [], 98, ~U[2026-06-12 17:30:31Z], ~U[2026-06-29 13:09:26Z], ~U[2026-06-29 13:09:26Z], "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, 30, ~U[2026-06-12 17:30:31Z]] 08:09:26.606 [debug] QUERY OK source="sources" db=0.1ms idle=113.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:26.606 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:09:26.606 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [3179203] 08:09:26.606 [debug] Current batch of media processed. Will check again in 1000ms 08:09:27.608 [debug] Current batch of media processed. Will check again in 1000ms 08:09:28.609 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 827, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", "id" => "_Axl-_DG5eo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_Axl-_DG5eo", "playlist_index" => 15, "timestamp" => 1781199024, "title" => "Brave Origin Charges You For A Problem Brave Created", "upload_date" => "20260611"} 08:09:28.609 [debug] QUERY OK source="sources" db=0.2ms idle=452.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:28.610 [debug] QUERY OK source="sources" db=0.1ms idle=452.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:28.615 [debug] QUERY OK source="media_items" db=4.7ms idle=453.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-11 17:30:24Z], 30] 08:09:28.616 [debug] QUERY OK source="media_items" db=1.0ms idle=458.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "fb8a7693-c677-43dc-b2b2-47a47bc3c4f2", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, false, false, 30, [], 98, ~U[2026-06-11 17:30:24Z], ~U[2026-06-29 13:09:28Z], ~U[2026-06-29 13:09:28Z], "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, 30, ~U[2026-06-11 17:30:24Z]] 08:09:28.616 [debug] QUERY OK source="sources" db=0.1ms idle=120.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:09:28.617 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:09:28.617 [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 [3171302] 08:09:28.617 [debug] Current batch of media processed. Will check again in 1000ms 08:09:29.618 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1017, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", "id" => "nwHjVOcUMaw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nwHjVOcUMaw", "playlist_index" => 16, "timestamp" => 1781112612, "title" => "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "upload_date" => "20260610"} 08:09:29.618 [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 (?)) [30] 08:09:29.619 [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" = ?) [30] 08:09:29.623 [debug] QUERY OK source="media_items" db=4.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[2026-06-10 17:30:12Z], 30] 08:09:29.625 [debug] QUERY OK source="media_items" db=1.1ms idle=1006.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "bb8672cf-d5d5-4083-8c45-7b88c748f288", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, false, false, 30, [], 98, ~U[2026-06-10 17:30:12Z], ~U[2026-06-29 13:09:29Z], ~U[2026-06-29 13:09:29Z], "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, 30, ~U[2026-06-10 17:30:12Z]] 08:09:29.625 [debug] QUERY OK source="sources" db=0.1ms idle=126.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:09:29.626 [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] 08:09:29.626 [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 [3163522] 08:09:29.626 [debug] Current batch of media processed. Will check again in 1000ms 08:09:30.627 [debug] Current batch of media processed. Will check again in 1000ms 08:09:31.628 [debug] Current batch of media processed. Will check again in 1000ms 08:09:32.629 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1331, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", "id" => "36pHSM0mzXE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=36pHSM0mzXE", "playlist_index" => 17, "timestamp" => 1781030838, "title" => "GNOME Board Bans Sonny Piers, He Reveals Everything", "upload_date" => "20260609"} 08:09:32.629 [debug] QUERY OK source="sources" db=0.1ms idle=1472.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 08:09:32.629 [debug] QUERY OK source="sources" db=0.1ms idle=1472.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:32.636 [debug] QUERY OK source="media_items" db=6.7ms idle=1472.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 18:47:18Z], 30] 08:09:32.639 [debug] QUERY OK source="media_items" db=1.8ms idle=1135.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "7286d7dd-ddde-48fd-ac16-399eb5b781e8", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, false, false, 30, [], 98, ~U[2026-06-09 18:47:18Z], ~U[2026-06-29 13:09:32Z], ~U[2026-06-29 13:09:32Z], "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, 30, ~U[2026-06-09 18:47:18Z]] 08:09:32.639 [debug] QUERY OK source="sources" db=0.2ms idle=135.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:09:32.639 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:09:32.640 [debug] QUERY OK source="media_items" db=0.2ms 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 [3156119] 08:09:32.640 [debug] Current batch of media processed. Will check again in 1000ms 08:09:33.641 [debug] Current batch of media processed. Will check again in 1000ms 08:09:34.642 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "duration" => 1305, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", "id" => "mawalnYGQkA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mawalnYGQkA", "playlist_index" => 18, "timestamp" => 1780939824, "title" => "Nobody Understands LTS Linux Distros", "upload_date" => "20260608"} 08:09:34.643 [debug] QUERY OK source="sources" db=0.1ms idle=485.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:34.643 [debug] QUERY OK source="sources" db=0.1ms idle=486.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:34.648 [debug] QUERY OK source="media_items" db=4.6ms idle=486.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-08 17:30:24Z], 30] 08:09:34.649 [debug] QUERY OK source="media_items" db=1.0ms idle=491.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "d112206b-8e3c-4505-8af2-81305b4fd107", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, false, false, 30, [], 98, ~U[2026-06-08 17:30:24Z], ~U[2026-06-29 13:09:34Z], ~U[2026-06-29 13:09:34Z], "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, 30, ~U[2026-06-08 17:30:24Z]] 08:09:34.649 [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" = ?) [30] 08:09:34.650 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:09:34.650 [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 [3147694] 08:09:34.650 [debug] Current batch of media processed. Will check again in 1000ms 08:09:35.651 [debug] Current batch of media processed. Will check again in 1000ms 08:09:35.803 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCld68syR8Wi-GY_n4CaoJGA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/fa/7c/fa7c8da74fb66c19f389ab9c08f819fd6f20ee19747e88e03d8c83b3f53e0c2b.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/d3/3b/d33b9ef942235d5b1c5fe045855cb85c53e4452f5920cb32fa9e1c914e69d195.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 08:09:35.804 [debug] Gracefully stopping file follower 08:09:35.804 [debug] QUERY OK source="sources" db=0.2ms idle=1155.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 08:09:35.805 [debug] QUERY OK source="sources" db=0.0ms idle=1155.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:35.809 [debug] QUERY OK source="media_items" db=4.5ms idle=1155.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-28 17:30:01Z], 30] 08:09:35.811 [debug] QUERY OK source="media_items" db=1.1ms idle=1159.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "21de7eb8-3b68-4a94-b6f4-24b427e28ae5", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, false, false, 30, [], 98, ~U[2026-06-28 17:30:01Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "People have been talking about doing a DIY Steam Machine but SteamOS is still really intended for Valve hardware so let's see what goes wrong with an install.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRufus Video: https://www.youtube.com/watch?v=FTi7A8C2q38\nBalena Etcher Video: https://www.youtube.com/watch?v=c0TK0ynXLOo\nThe Verge Article: https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nDIY Build: https://www.pcworld.com/article/3173750/valves-steam-machine-is-pricey-i-built-a-diy-rival-for-150-less.html\nSteam OS Download: https://store.steampowered.com/steamos/download/?ver=steamdeck&snr=100601___\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #OpenSource #Bazzite #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I tried installing Steam OS", "3PzEmiSDgd0", 1191, false, "https://www.youtube.com/watch?v=3PzEmiSDgd0", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062800_I tried installing Steam OS.mp4", false, 30, ~U[2026-06-28 17:30:01Z]] 08:09:35.811 [debug] QUERY OK source="sources" db=0.1ms idle=303.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:09:35.816 [debug] QUERY OK source="media_items" db=4.4ms idle=6.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 17:30:35Z], 30] 08:09:35.817 [debug] QUERY OK source="media_items" db=1.0ms idle=11.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "f0bc15a9-4085-4b54-a8b4-cb3de8998155", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, false, false, 30, [], 98, ~U[2026-06-27 17:30:35Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "I was excited for the revival of the KDE Plasma's Oxygen theme and now that it's actually here, I think it very well might be my new favorite stream.\n\nDonate to KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #KDE #KDEPlasma #FOSS #OpenSource\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I'm In Love With KDE Plasma's New Theme", "C7rXBdgObno", 1364, false, "https://www.youtube.com/watch?v=C7rXBdgObno", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062700_I'm In Love With KDE Plasma's New Theme.mp4", false, 30, ~U[2026-06-27 17:30:35Z]] 08:09:35.818 [debug] QUERY OK source="sources" db=0.6ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.822 [debug] QUERY OK source="media_items" db=4.1ms idle=7.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-24 17:30:15Z], 30] 08:09:35.824 [debug] QUERY OK source="media_items" db=1.0ms idle=11.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "ca49f062-737d-48d0-ae85-16369b023ea9", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, false, false, 30, [], 98, ~U[2026-06-24 17:30:15Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "I've said many times that SteamOS was probably not going to get a general hardware release for generic hardware but it turns out that following the launch of Steam Machine pricing we now know that this is not true\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThe Verge Article: https://web.archive.org/web/20260623000206/https://www.theverge.com/games/953411/valve-steamos-desktop-nvidia\nSteam Update: https://store.steampowered.com/news/app/1675200/view/697641379212298072\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#SteamOS #Linux #SteamMachine #SteamDeck\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "I was wrong about SteamOS", "iWcFXmnPYoQ", 1187, false, "https://www.youtube.com/watch?v=iWcFXmnPYoQ", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062400_I was wrong about SteamOS.mp4", false, 30, ~U[2026-06-24 17:30:15Z]] 08:09:35.825 [debug] QUERY OK source="sources" db=0.6ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.829 [debug] QUERY OK source="media_items" db=4.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 17:30:09Z], 30] 08:09:35.831 [debug] QUERY OK source="media_items" db=1.0ms idle=11.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "348cce78-754d-4b74-9ad7-10c0043d9240", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, false, false, 30, [], 98, ~U[2026-06-23 17:30:09Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "Stack Overflow is having a crisis and now the company has decided to launch what has been dubbed Stack Overflow for Agents a version intended to be used by AI.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nStack Overflow Graph: https://data.stackexchange.com/stackoverflow/query/1926661#graph\nAnnouncement: https://stackoverflow.blog/2026/06/10/announcing-stack-overflow-for-agents/\nStack Overflow For Agents: https://agents.stackoverflow.com/recent\nStack Overflow For Agents Meta: https://agents.meta.stackoverflow.com/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#AI #StackOverflow #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stack Overflow Is Having An Existential Crisis", "wPXqhfgTV9M", 1559, false, "https://www.youtube.com/watch?v=wPXqhfgTV9M", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062300_Stack Overflow Is Having An Existential Crisis.mp4", false, 30, ~U[2026-06-23 17:30:09Z]] 08:09:35.831 [debug] QUERY OK source="sources" db=0.6ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.836 [debug] QUERY OK source="media_items" db=4.3ms idle=7.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-22 17:30:04Z], 30] 08:09:35.837 [debug] QUERY OK source="media_items" db=0.9ms idle=11.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "4208e5ee-1ff7-4176-8cbd-86ac09e82c7a", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-06-22 17:30:04Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "I don't hate X11 but X11 is on the way out so if you don't want that to happen, now is not the time to sit around and complain about how bad it is that your favourite distro and desktop is dropping it, now it is the time to start working on projects.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "X11 Will Completely End Without Your Help", "xe75b6OSR90", 1169, false, "https://www.youtube.com/watch?v=xe75b6OSR90", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062200_X11 Will Completely End Without Your Help.mp4", false, 30, ~U[2026-06-22 17:30:04Z]] 08:09:35.838 [debug] QUERY OK source="sources" db=0.6ms idle=8.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.843 [debug] QUERY OK source="media_items" db=4.2ms idle=7.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-21 17:30:38Z], 30] 08:09:35.844 [debug] QUERY OK source="media_items" db=1.0ms idle=11.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "80884402-bac8-4299-9338-4c0395a44645", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, false, false, 30, [], 98, ~U[2026-06-21 17:30:38Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "Today I wanted to discuss an interesting topic and dotfurry just happened to be an interesting way to do so, did you know that there were top level domains outside the ones that you can access normally.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\ndotfurry: https://www.dotfurry.org/\nICANN ASP: https://newgtldprogram.icann.org/en/application-rounds/round2/asp\nOpenNIC: https://wiki.opennic.org/opennic/dot\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#WebDeveloper #Furry #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The Weird World Of Alternate Root DNS", "uswAKkgmllA", 1122, false, "https://www.youtube.com/watch?v=uswAKkgmllA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062100_The Weird World Of Alternate Root DNS.mp4", false, 30, ~U[2026-06-21 17:30:38Z]] 08:09:35.845 [debug] QUERY OK source="sources" db=0.5ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.849 [debug] QUERY OK source="media_items" db=4.1ms idle=7.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 17:30:08Z], 30] 08:09:35.850 [debug] QUERY OK source="media_items" db=0.9ms idle=11.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "0cf73a33-6312-4a63-8074-f4a283827c2e", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, false, false, 30, [], 98, ~U[2026-06-20 17:30:08Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "With all of the AUR malware stuff going on, how would one actually stay safe on the AUR, what should you as an Arch Linux user actually be looking for.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Arch Wiki: https://wiki.archlinux.org/title/Arch_User_Repository\nCreating Package: https://wiki.archlinux.org/title/Creating_package\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Stay Safe On The AUR In The Face Of Arch Linux Malware", "VR20JYYXH6Q", 1488, false, "https://www.youtube.com/watch?v=VR20JYYXH6Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e062000_Stay Safe On The AUR In The Face Of Arch Linux Malware.mp4", false, 30, ~U[2026-06-20 17:30:08Z]] 08:09:35.851 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [30] 08:09:35.855 [debug] QUERY OK source="media_items" db=4.1ms idle=7.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-18 17:30:02Z], 30] 08:09:35.857 [debug] QUERY OK source="media_items" db=0.9ms idle=10.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "1c6ffc4b-d384-4a1c-a599-dec864917d00", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, false, false, 30, [], 98, ~U[2026-06-18 17:30:02Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "Recently there was a bad release of Rsync following Andrew Tridgell otherwise known as Tridge introducing Claude into the code base and now Tridge has responded to the situation with a blog post on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nRsync Repo: https://blog.davidedmundson.co.uk/blog/596/\nTridge Blog Post: https://medium.com/@tridge60/rsync-and-outrage-d9849599e5a0\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#rsync #ai #Developer #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Tridge Responds To The Claimed Rsync AI Caused Regressions", "d7MTYqID8VY", 1090, false, "https://www.youtube.com/watch?v=d7MTYqID8VY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061800_Tridge Responds To The Claimed Rsync AI Caused Regressions.mp4", false, 30, ~U[2026-06-18 17:30:02Z]] 08:09:35.857 [debug] QUERY OK source="sources" db=0.5ms idle=7.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.862 [debug] QUERY OK source="media_items" db=4.2ms idle=7.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-17 17:30:31Z], 30] 08:09:35.863 [debug] QUERY OK source="media_items" db=0.9ms idle=10.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "152ea11c-59c9-4ce4-909b-3209a01d170d", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, false, false, 30, [], 98, ~U[2026-06-17 17:30:31Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "KDE Plasma 6.7 has finally arrived, so now it's time to find out what you're going to get with this new release\n\nSupport KDE: https://kde.org/donate/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nThis Week In Plasma: https://blogs.kde.org/categories/this-week-in-plasma/\nFull Changelog: https://kde.org/announcements/changelogs/plasma/6/6.6.5-6.7.0/\nRelease Page: https://kde.org/announcements/plasma/6/6.7.0/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #OpenSource #LinuxDesktop\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7 Has Finally Come", "tgyxIC3J8cs", 1081, false, "https://www.youtube.com/watch?v=tgyxIC3J8cs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061700_KDE Plasma 6.7 Has Finally Come.mp4", false, 30, ~U[2026-06-17 17:30:31Z]] 08:09:35.864 [debug] QUERY OK source="sources" db=0.6ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.868 [debug] QUERY OK source="media_items" db=4.1ms idle=7.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 17:30:08Z], 30] 08:09:35.870 [debug] QUERY OK source="media_items" db=1.2ms idle=11.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "e4925a21-5868-4a6e-8bd9-2ae0491b3b83", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, false, false, 30, [], 98, ~U[2026-06-16 17:30:08Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "Arch the initial set of malware discovered on the Arch Linux AUR you might think that this had all been dealt with, well it tuns out that this is not the case and in fact it's still being discovered to this day.\n\nAUR Malware List: https://md.archlinux.org/s/SxbqukK6IA#\nRemove Malware: https://ioctl.fail/preliminary-analysis-of-aur-malware/\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nArch News Announcement: https://archlinux.org/news/active-aur-malicious-packages-incident/\nNew Variation: https://aur.archlinux.org/cgit/aur.git/commit/?h=hack-browser-data-git&id=191ddf65e0337ee9df30d7e643fc13f6cea3f30d\nRussian Message: https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=gtk2%2bextra&id=424199b8cc09ff19fc8043bf0e017d1219c66654\n2024 Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/FEQAUX55CKTWAGSYQKQY5ZMPWNUW7UXM/\nSolution 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/ASQP7CC4EOMEG7GASDHJBZEINBEQKD65/\nSolution 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/E26JEFVSR6YG4GBQUZYDMWYCXD7S7N5V/\nSolution 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/DWY3WBOI3QM3MVUTPOTSQAW7D47ATG2T/\nSuspicious Account: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/NCLGU23LSLOFXMBGG7HH67EWDZC2TJB3/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "The AUR Malware Attack Never Stopped", "VeudOzqpHHs", 1130, false, "https://www.youtube.com/watch?v=VeudOzqpHHs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061600_The AUR Malware Attack Never Stopped.mp4", false, 30, ~U[2026-06-16 17:30:08Z]] 08:09:35.871 [debug] QUERY OK source="sources" db=0.6ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.875 [debug] QUERY OK source="media_items" db=4.5ms idle=7.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-15 17:30:03Z], 30] 08:09:35.877 [debug] QUERY OK source="media_items" db=1.0ms idle=11.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "6dc81924-6936-43c6-8442-a054fa1f6783", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, false, false, 30, [], 98, ~U[2026-06-15 17:30:03Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "The Ladybird browser has been going through a lot of changes recently and most recently was deciding to change from open to closed contribution in the run up to the alpha, but what does this actually imply.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLadybird Website: https://ladybird.org/\nServo Website: https://servo.org/\nAdopting Rust: https://ladybird.org/posts/adopting-rust/\nAndreas Twitter Post: https://x.com/awesomekling/status/2063559555515117691\nLadybird Announcement: https://x.com/ladybirdbrowser/status/2062794886626078923\nAnnouncement Blog Post: https://ladybird.org/posts/changing-how-we-develop-ladybird/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ladybird #WebBrowser #Chromium #Chrome #AI #Developer\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ladybird Browser Stops Accepting Public Pull Requests", "dFnZyoLXVa4", 1198, false, "https://www.youtube.com/watch?v=dFnZyoLXVa4", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061500_Ladybird Browser Stops Accepting Public Pull Requests.mp4", false, 30, ~U[2026-06-15 17:30:03Z]] 08:09:35.878 [debug] QUERY OK source="sources" db=0.6ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.882 [debug] QUERY OK source="media_items" db=4.5ms idle=8.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-14 17:30:02Z], 30] 08:09:35.886 [debug] QUERY OK source="media_items" db=3.4ms idle=11.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "29ded9f2-6f6f-47fa-8cfa-27625e944ff1", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, false, false, 30, [], 98, ~U[2026-06-14 17:30:02Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "It's time for the final part of the Linus Tech Tips Linux Challenge so now it's time to find out whether Linux is truly ready or will the members of LTT be going back to Windows\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nLinux Challenge: https://www.youtube.com/watch?v=8KQFgWdiudo\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #ArchLinux #LinusTechTips #OpenSource #fOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React", "BBwZs0lxeNk", 3383, false, "https://www.youtube.com/watch?v=BBwZs0lxeNk", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061400_It's Finally The Year Of The Linux Desktop | LTT Linux Challenge React.mp4", false, 30, ~U[2026-06-14 17:30:02Z]] 08:09:35.887 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [30] 08:09:35.892 [debug] QUERY OK source="media_items" db=5.0ms idle=10.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-13 17:30:17Z], 30] 08:09:35.894 [debug] QUERY OK source="media_items" db=1.1ms idle=14.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "994ef598-a38d-40d6-821b-ecfef38a4ecc", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, false, false, 30, [], 98, ~U[2026-06-13 17:30:17Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "It's almost time for KDE Plasma to completely drop support for X11, we're only 1 major release away, but what does that actually mean for you as the user.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nFirst Wayland Commit: https://gitlab.freedesktop.org/wayland/wayland/-/commit/97f1ebe8d5c2e166fabf757182c289fed266a45a\nKDE Wayland Slides: https://desktopsummit.org/sites/www.desktopsummit.org/files/KWin_Wayland.pdf\nKDE Wayland Future: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/\nKwin X11: https://blog.vladzahorodnii.com/2025/03/13/kwin_x11-and-kwin_wayland-split/\nDavid Edmundson Blog: https://blog.davidedmundson.co.uk/blog/596/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#KDE #Linux #KDEPlasma #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "KDE Plasma 6.7: The Final Release Before X11 Is GONE", "gXQLC3Sontc", 1205, false, "https://www.youtube.com/watch?v=gXQLC3Sontc", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061300_KDE Plasma 6.7: The Final Release Before X11 Is GONE.mp4", false, 30, ~U[2026-06-13 17:30:17Z]] 08:09:35.895 [debug] QUERY OK source="sources" db=0.6ms idle=11.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.899 [debug] QUERY OK source="media_items" db=4.3ms 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-06-12 17:30:31Z], 30] 08:09:35.901 [debug] QUERY OK source="media_items" db=1.2ms idle=12.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "ffe5e7b1-9ed8-4eeb-acff-5ac43550fedf", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, false, false, 30, [], 98, ~U[2026-06-12 17:30:31Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "Well it was bound to happen eventually, there has been another major attack on the AUR, this time compromising over 400 packages within a day and possibly more to come as the vector has not been fixed.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nvxunderground: https://x.com/vxunderground/status/2065123579541238223\nAUR Mailing List 1: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/2LGBF2AZBPVCCY4VTN6DOVUNNBURFJ2J/\nAUR Mailing List 2: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/CIKQJQI3AREXIR6IQVWPBYFJPYLM45EF/\nAUR Mailing List 3: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L2JXQNYBGWOQQQXDEPEAICBHKFEFANUC/\nFull AUR Thread: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/FGXPCB3ZVCJIV7FX323SBAX2JHYB7ZS4/\nCachyOS Thread: https://discuss.cachyos.org/t/aur-compromised-400-packages-affected-20260611/31040\nLock AUR: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/WS2K2XGMLPBFZ3WGOPLF2UP32HZJ6ZSP/\nMalware Analysis: https://ioctl.fail/preliminary-analysis-of-aur-malware/\nNew Wave: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/LB6TBHDXLQRPR4UVIQULCI6MZ77XYLL2/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#ArchLinux #Linux #OpenSource #FOSS\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Massive AUR Malware Attack: DO NOT UPDATE", "WoxR7fGl4CI", 1221, false, "https://www.youtube.com/watch?v=WoxR7fGl4CI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061200_Massive AUR Malware Attack: DO NOT UPDATE.mp4", false, 30, ~U[2026-06-12 17:30:31Z]] 08:09:35.902 [debug] QUERY OK source="sources" db=0.6ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.906 [debug] QUERY OK source="media_items" db=4.2ms idle=8.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-11 17:30:24Z], 30] 08:09:35.908 [debug] QUERY OK source="media_items" db=1.0ms idle=11.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "2a7817ee-3a2d-49c6-8bb9-7f26c32e2ed6", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, false, false, 30, [], 98, ~U[2026-06-11 17:30:24Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "Would you ever pay for a web browser is a question that the Brave Browser team wants to answer, it is free on Linux and thankfully it isn't a subscription but what do you even get for your money\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nBrave Origin: https://brave.com/origin/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Brave #WebBrowser #Chrome #Chromium #Firefox\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Brave Origin Charges You For A Problem Brave Created", "_Axl-_DG5eo", 827, false, "https://www.youtube.com/watch?v=_Axl-_DG5eo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061100_Brave Origin Charges You For A Problem Brave Created.mp4", false, 30, ~U[2026-06-11 17:30:24Z]] 08:09:35.909 [debug] QUERY OK source="sources" db=0.6ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.913 [debug] QUERY OK source="media_items" db=4.1ms idle=7.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-10 17:30:12Z], 30] 08:09:35.915 [debug] QUERY OK source="media_items" db=1.1ms idle=11.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "f828842b-1a9d-4fc3-905d-8604df4d7a28", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, false, false, 30, [], 98, ~U[2026-06-10 17:30:12Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "When you think of Ubuntu LTS you probably expect things to remain unchanging for an entire release well turns out that's not exactly what you're going to get with a recent Ubuntu 24.04 LTS change completely breaking support for Kepler GPUs\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAUR Package Nvidia: https://aur.archlinux.org/packages/nvidia-470xx-dkms\nUbuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470-server/+bug/2110338\nNew Ubuntu Bug: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/2155202\nLinux Mint Thread: https://forums.linuxmint.com/viewtopic.php?t=469946\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Ubuntu #Linux #Nvidia #OpenSource #FOSS #LinuxDistro\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs", "nwHjVOcUMaw", 1017, false, "https://www.youtube.com/watch?v=nwHjVOcUMaw", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e061000_Ubuntu LTS Randomly Dropped Support For Nvidia Kepler GPUs.mp4", false, 30, ~U[2026-06-10 17:30:12Z]] 08:09:35.915 [debug] QUERY OK source="sources" db=0.5ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.920 [debug] QUERY OK source="media_items" db=4.2ms idle=7.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-09 18:47:18Z], 30] 08:09:35.921 [debug] QUERY OK source="media_items" db=1.2ms idle=11.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "cc7eb46c-5e5c-42e3-8d6b-5ae397bc6aff", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, false, false, 30, [], 98, ~U[2026-06-09 18:47:18Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "2 years ago Sonny Piers was out of nowhere removed from the GNOME Foundation board and banned from the GNOME Foundation, this demolished trust in the organization and now Sonny has decided for the first time to publicly speak on the matter.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSonny Piers Ban: https://discourse.gnome.org/t/updates-to-the-gnome-foundation-board-of-directors-roster/22201\nSonny Piers Blog: https://blog.sonny.re/retrospective-as-gnome-director\nSteven Deobald Post: https://blogs.gnome.org/steven/2026/05/31/stay-and-fight/\nRobert McQueen Candidacy: https://discourse.gnome.org/t/2026-board-candidate-robert-mcqueen/35308\nGNOME Fund: https://www.sovereign.tech/tech/gnome\nKDE Fund: https://www.sovereign.tech/tech/kde\nTobias Bernard Post: https://mastodon.social/@tbernard/113792715412102767\nHolly Leaves Foundation: https://blogs.gnome.org/foundation/2024/07/12/gnome-foundation-announces-transition-of-executive-director/\nSteven Leaves Foundation: https://blogs.gnome.org/aday/2025/08/29/thanks-and-farewell-to-steven-deobald/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\n#GNOME #Linux #KDE #FOSS #OpenSource\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "GNOME Board Bans Sonny Piers, He Reveals Everything", "36pHSM0mzXE", 1331, false, "https://www.youtube.com/watch?v=36pHSM0mzXE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060900_GNOME Board Bans Sonny Piers, He Reveals Everything.mp4", false, 30, ~U[2026-06-09 18:47:18Z]] 08:09:35.922 [debug] QUERY OK source="sources" db=0.5ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.926 [debug] QUERY OK source="media_items" db=4.1ms idle=7.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-08 17:30:24Z], 30] 08:09:35.928 [debug] QUERY OK source="media_items" db=1.0ms idle=11.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "212100bb-68ac-41dd-aed8-5f04afd2c9ae", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, false, false, 30, [], 98, ~U[2026-06-08 17:30:24Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "LTS Linux distros are something that a lot of people use but at the same time a lot of people completely misunderstand what there function actually is.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nNate Graham Article: https://pointieststick.com/2026/05/23/long-term-support-doesnt-mean-what-you-think/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #LTS #Ubuntu #Debian\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Nobody Understands LTS Linux Distros", "mawalnYGQkA", 1305, false, "https://www.youtube.com/watch?v=mawalnYGQkA", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060800_Nobody Understands LTS Linux Distros.mp4", false, 30, ~U[2026-06-08 17:30:24Z]] 08:09:35.929 [debug] QUERY OK source="sources" db=0.6ms idle=8.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:09:35.933 [debug] QUERY OK source="media_items" db=4.2ms idle=7.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-07 17:30:02Z], 30] 08:09:35.935 [debug] QUERY OK source="media_items" db=1.1ms idle=11.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "0e6e8098-1331-4145-a9c0-915e01b0400d", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, false, false, 30, [], 98, ~U[2026-06-07 17:30:02Z], ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], "A few years back I put out a video on some really dumb software licenses but that wasn't all that's out there so lets talk about some more.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nOriginal Video: https://www.youtube.com/watch?v=PwMTOUbZ9V4\nURPL: https://github.com/Zuhaitz-dev/URPL\nROFL: https://blog.myli.page/rofl-an-open-source-license-that-promotes-fun-in-coding-620388502891\nBad Licenses: https://github.com/ErikMcClure/bad-licenses\nFunny Video: https://web.archive.org/web/20240324055031/https://cohost.org/lifning/post/1023282-bbhl-license-v1\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Linux #OpenSource #FOSS #FreeSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Even More Dumb Software Licenses", "oV1ug0u8vas", 1223, false, "https://www.youtube.com/watch?v=oV1ug0u8vas", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e060700_Even More Dumb Software Licenses.mp4", false, 30, ~U[2026-06-07 17:30:02Z]] 08:09:35.935 [debug] QUERY OK source="sources" db=0.5ms idle=8.4ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z], 30] 08:09:35.940 [debug] QUERY OK source="media_items" db=4.3ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 08:09:35.945 [debug] QUERY OK source="media_items" db=4.4ms idle=11.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")))) [30] 08:09:35.946 [debug] QUERY OK source="media_items" db=0.8ms idle=11.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 08:09:35.947 [debug] QUERY OK source="tasks" db=0.5ms idle=6.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419903, 30, ~U[2026-06-29 13:09:35Z], ~U[2026-06-29 13:09:35Z]] 08:09:35.948 [info] {"args":{"id":30},"id":419853,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":39501693,"event":"job:stop","queue_time":338423,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 08:09:53.734 [info] {"source":"oban","duration":7737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:00.103 [info] {"source":"oban","duration":176,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:10:04.562 [info] {"args":{"id":3012876},"id":419779,"meta":{},"system_time":1782738604562113216,"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"]} 08:10:04.562 [debug] QUERY OK source="media_items" db=0.3ms idle=1405.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" = ?) [3012876] 08:10:04.562 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:10:04.563 [debug] QUERY OK source="sources" db=0.6ms idle=1406.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:10:04.564 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:10:04.564 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [3012876] 08:10:04.565 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [3012876] 08:10:04.565 [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] 08:10:04.565 [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 [] 08:10:04.565 [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 [] 08:10:04.566 [debug] Running yt-dlp command for action: get_downloadable_status 08:10:04.567 [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 [] 08:10:04.567 [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 [] 08:10:04.567 [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 [] 08:10:04.567 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/04/eb/04ebdfd64ef2a7f88c1c4655167a3e8505d5a09f7980943d865f4012943a2846.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:10:06.617 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QhhPWfw76fY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/04/eb/04ebdfd64ef2a7f88c1c4655167a3e8505d5a09f7980943d865f4012943a2846.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks. 08:10:06.618 [error] yt-dlp download error for media item #3012876: "ERROR: [youtube] QhhPWfw76fY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 08:10:06.618 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3012876},"id":419779,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2056083,"event":"job:exception","queue_time":654468,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:10:23.743 [info] {"source":"oban","duration":7994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:31.603 [info] {"args":{"id":29},"id":419342,"meta":{},"system_time":1782738631603758579,"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"]} 08:10:31.604 [debug] QUERY OK source="sources" db=0.1ms idle=1446.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:10:31.604 [debug] QUERY OK source="settings" db=0.1ms idle=1007.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:10:31.605 [debug] QUERY OK source="media_items" db=1.1ms idle=447.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")))) [29] 08:10:31.607 [debug] QUERY OK source="media_items" db=1.2ms idle=7.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [29] 08:10:31.607 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 08:10:31.607 [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 [] 08:10:31.607 [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 [] 08:10:31.608 [debug] QUERY OK source="media_items" db=0.7ms 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 [29] 08:10:31.609 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 08:10:31.609 [debug] Current batch of media processed. Will check again in 1000ms 08:10:31.609 [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 [] 08:10:31.609 [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 [] 08:10:31.609 [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 [] 08:10:31.610 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCs4fQRyl1TJvoeOdekW6lYA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/12/86/1286ff1a0e4b9f55bb45da8f1a4163366fda9ddd3122cad2a3ad60663be983e3.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/29/b729d8a15e57edf7f45db12363803117480198267ed02d3d913102092462e768.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:10:32.609 [debug] Current batch of media processed. Will check again in 1000ms 08:10:33.611 [debug] Current batch of media processed. Will check again in 1000ms 08:10:34.611 [debug] Current batch of media processed. Will check again in 1000ms 08:10:35.613 [debug] Current batch of media processed. Will check again in 1000ms 08:10:36.614 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get 40% off the book with promo code TRPL40 until June 13!\n\nIn this video, we learn about Carol's favorite crate, And a lot about the process of writing, editing, and publishing the Rust programming language third edition, the definitive\u00A0book on the Rust programming language.\n\nhttps://nostarch.com/rust-programming-language-3e\n\nThanks to Carol & Chris for being such good sports, thanks to Emma from No Starch for setting this up.\n\nFollow Chris: https://v5.chriskrycho.com/index.html\nFollow Carol: https://carol-nichols.com/\nCarol's company, Integer 32: https://integer32.com/\nFind more of my stuff on: https://fasterthanli.me\n\nThanks for watching!", "duration" => 696, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e051300_Carol & Chris chat about The Rust Book (3rd edition).mp4", "id" => "IrAg4mbCVPU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IrAg4mbCVPU", "playlist_index" => 1, "timestamp" => 1778700603, "title" => "Carol & Chris chat about The Rust Book (3rd edition)", "upload_date" => "20260513"} 08:10:36.614 [debug] QUERY OK source="sources" db=0.3ms idle=1457.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:10:36.615 [debug] QUERY OK source="sources" db=0.1ms idle=1458.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:10:36.615 [debug] QUERY OK source="media_items" db=0.2ms idle=1458.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-13 19:30:03Z], 29] 08:10:36.673 [debug] QUERY OK source="media_items" db=57.6ms idle=1012.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off the book with promo code TRPL40 until June 13!\n\nIn this video, we learn about Carol's favorite crate, And a lot about the process of writing, editing, and publishing the Rust programming language third edition, the definitive\u00A0book on the Rust programming language.\n\nhttps://nostarch.com/rust-programming-language-3e\n\nThanks to Carol & Chris for being such good sports, thanks to Emma from No Starch for setting this up.\n\nFollow Chris: https://v5.chriskrycho.com/index.html\nFollow Carol: https://carol-nichols.com/\nCarol's company, Integer 32: https://integer32.com/\nFind more of my stuff on: https://fasterthanli.me\n\nThanks for watching!", "Carol & Chris chat about The Rust Book (3rd edition)", "33ac3488-4bca-4013-afec-8d15664b88ed", "IrAg4mbCVPU", 696, false, "https://www.youtube.com/watch?v=IrAg4mbCVPU", 1, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e051300_Carol & Chris chat about The Rust Book (3rd edition).mp4", false, false, false, 29, [], 98, ~U[2026-05-13 19:30:03Z], ~U[2026-06-29 13:10:36Z], ~U[2026-06-29 13:10:36Z], "Get 40% off the book with promo code TRPL40 until June 13!\n\nIn this video, we learn about Carol's favorite crate, And a lot about the process of writing, editing, and publishing the Rust programming language third edition, the definitive\u00A0book on the Rust programming language.\n\nhttps://nostarch.com/rust-programming-language-3e\n\nThanks to Carol & Chris for being such good sports, thanks to Emma from No Starch for setting this up.\n\nFollow Chris: https://v5.chriskrycho.com/index.html\nFollow Carol: https://carol-nichols.com/\nCarol's company, Integer 32: https://integer32.com/\nFind more of my stuff on: https://fasterthanli.me\n\nThanks for watching!", "Carol & Chris chat about The Rust Book (3rd edition)", "IrAg4mbCVPU", 696, false, "https://www.youtube.com/watch?v=IrAg4mbCVPU", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e051300_Carol & Chris chat about The Rust Book (3rd edition).mp4", false, 29, ~U[2026-05-13 19:30:03Z]] 08:10:36.674 [debug] QUERY OK source="sources" db=0.2ms idle=68.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:10:36.674 [debug] QUERY OK source="media_profiles" db=0.1ms idle=59.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:10:36.674 [debug] QUERY OK source="media_items" db=0.1ms idle=59.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 [2948151] 08:10:36.674 [debug] Current batch of media processed. Will check again in 1000ms 08:10:37.676 [debug] Current batch of media processed. Will check again in 1000ms 08:10:38.677 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I love https://zed.dev/ and I love https://rust-analyzer.github.io/ but up until recently, configuring the latter for the former was... annoying. Luckily cookies solved everything.\n\nThanks to Benedikt for agreeing to appear on this video!\n\n✨ Credits\n\nVideo Editor\nVlad Korovin\n\nEverything Else\nAmos Wenger\n\nSponsor me on GitHub: https://github.com/sponsors/fasterthanlime\nOr on Patreon: https://www.patreon.com/fasterthanlime\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nOr Bluesky: https://bsky.app/profile/fasterthanli.me\n\nCheck out Self-Directed Research, my podcast co-hosted with James and produced with Amanda: https://sdr-podcast.com/", "duration" => 498, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e012100_I bought us a Zed feature with cookies.mp4", "id" => "fCgNa-WwymY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fCgNa-WwymY", "playlist_index" => 2, "timestamp" => 1769029206, "title" => "I bought us a Zed feature with cookies", "upload_date" => "20260121"} 08:10:38.677 [debug] QUERY OK source="sources" db=0.1ms idle=520.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:10:38.678 [debug] QUERY OK source="sources" db=0.0ms idle=521.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:10:38.678 [debug] QUERY OK source="media_items" db=0.2ms idle=521.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-21 21:00:06Z], 29] 08:10:38.680 [debug] QUERY OK source="media_items" db=1.4ms idle=521.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I love https://zed.dev/ and I love https://rust-analyzer.github.io/ but up until recently, configuring the latter for the former was... annoying. Luckily cookies solved everything.\n\nThanks to Benedikt for agreeing to appear on this video!\n\n✨ Credits\n\nVideo Editor\nVlad Korovin\n\nEverything Else\nAmos Wenger\n\nSponsor me on GitHub: https://github.com/sponsors/fasterthanlime\nOr on Patreon: https://www.patreon.com/fasterthanlime\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nOr Bluesky: https://bsky.app/profile/fasterthanli.me\n\nCheck out Self-Directed Research, my podcast co-hosted with James and produced with Amanda: https://sdr-podcast.com/", "I bought us a Zed feature with cookies", "e862d501-9d93-49d3-b7ad-ff54c059d710", "fCgNa-WwymY", 498, false, "https://www.youtube.com/watch?v=fCgNa-WwymY", 2, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e012100_I bought us a Zed feature with cookies.mp4", false, false, false, 29, [], 98, ~U[2026-01-21 21:00:06Z], ~U[2026-06-29 13:10:38Z], ~U[2026-06-29 13:10:38Z], "I love https://zed.dev/ and I love https://rust-analyzer.github.io/ but up until recently, configuring the latter for the former was... annoying. Luckily cookies solved everything.\n\nThanks to Benedikt for agreeing to appear on this video!\n\n✨ Credits\n\nVideo Editor\nVlad Korovin\n\nEverything Else\nAmos Wenger\n\nSponsor me on GitHub: https://github.com/sponsors/fasterthanlime\nOr on Patreon: https://www.patreon.com/fasterthanlime\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nOr Bluesky: https://bsky.app/profile/fasterthanli.me\n\nCheck out Self-Directed Research, my podcast co-hosted with James and produced with Amanda: https://sdr-podcast.com/", "I bought us a Zed feature with cookies", "fCgNa-WwymY", 498, false, "https://www.youtube.com/watch?v=fCgNa-WwymY", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e012100_I bought us a Zed feature with cookies.mp4", false, 29, ~U[2026-01-21 21:00:06Z]] 08:10:38.680 [debug] QUERY OK source="sources" db=0.1ms idle=72.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:10:38.681 [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] 08:10:38.681 [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 [2078524] 08:10:38.681 [debug] Current batch of media processed. Will check again in 1000ms 08:10:39.682 [debug] Current batch of media processed. Will check again in 1000ms 08:10:40.683 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Father forgive me for I have made SO MANY CODEBASES and now I need to tend to them all.\n\nHappy new year in advance, wherever you watch this.\n\nSponsor me on GitHub: https://github.com/sponsors/fasterthanlime\nOr on Patreon: https://www.patreon.com/fasterthanlime\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nOr Bluesky: https://bsky.app/profile/fasterthanli.me\n\nCheck out Self-Directed Research, my podcast co-hosted with James and produced with Amanda: https://sdr-podcast.com/\n\n🗒️ References\n\n2025 Recap article — https://fasterthanli.me/articles/2025-recap \uFFFC\nfacet (project homepage) — https://facet.rs/ \uFFFC\nfacet (GitHub repo) — https://github.com/facet-rs/facet \uFFFC\nfacet perf tracker / benchmarks — https://perf.facet.rs/ \uFFFC\nfacet KDL showcase — https://facet.rs/guide/showcases/kdl/ \uFFFC\nfacet format-crate matrix — https://facet.rs/reference/format-crate-matrix/ \uFFFC\nmerde (deprecated; “please use facet instead”) — https://github.com/bearcove/merde \uFFFC\ndodeca (used for facet.rs docs) — https://dodeca.bearcove.eu/ \uFFFC\npicante (async incremental queries, salsa-style) — https://picante.bearcove.eu/ \uFFFC\npikru (Pikchr C vs Rust comparison / project page) — https://pikru.bearcove.eu/ \uFFFC\naasvg-rs (Rust port of aasvg) — https://github.com/bearcove/aasvg-rs \uFFFC\nrapace (RPC/IPC over shared memory; docs) — https://rapace.bearcove.eu/ \uFFFC\nfs-kitty (FSKit bridge “via rapace”) — https://github.com/bearcove/fs-kitty \uFFFC\ntracey (mentioned via source link in the article) — https://github.com/bearcove/tracey \uFFFC\nvixen — https://github.com/bearcove/vixen \uFFFC\nwoofwoof (WOFF2 build, packaged) — https://lib.rs/crates/woofwoof \uFFFC\nfontcull (font subsetting tool) — https://lib.rs/crates/fontcull \uFFFC\n\n✨ Contents\n\n00:10 facet\n09:25 arborium\n10:43 dodeca\n12:42 rapace\n14:59 tracey\n16:24 picante\n19:57 pikru and aasvg-rs\n23:53 fs-kitty\n26:20 vixen\n32:05 outro", "duration" => 2030, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e123100_2025 Recap: so many projects.mp4", "id" => "5Rj0Nxk6w08", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5Rj0Nxk6w08", "playlist_index" => 3, "timestamp" => 1767218406, "title" => "2025 Recap: so many projects", "upload_date" => "20251231"} 08:10:40.683 [debug] QUERY OK source="sources" db=0.2ms idle=526.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:10:40.684 [debug] QUERY OK source="sources" db=0.1ms idle=526.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:10:40.684 [debug] QUERY OK source="media_items" db=0.2ms idle=526.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-31 22:00:06Z], 29] 08:10:40.686 [debug] QUERY OK source="media_items" db=1.3ms idle=527.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Father forgive me for I have made SO MANY CODEBASES and now I need to tend to them all.\n\nHappy new year in advance, wherever you watch this.\n\nSponsor me on GitHub: https://github.com/sponsors/fasterthanlime\nOr on Patreon: https://www.patreon.com/fasterthanlime\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nOr Bluesky: https://bsky.app/profile/fasterthanli.me\n\nCheck out Self-Directed Research, my podcast co-hosted with James and produced with Amanda: https://sdr-podcast.com/\n\n🗒️ References\n\n2025 Recap article — https://fasterthanli.me/articles/2025-recap \uFFFC\nfacet (project homepage) — https://facet.rs/ \uFFFC\nfacet (GitHub repo) — https://github.com/facet-rs/facet \uFFFC\nfacet perf tracker / benchmarks — https://perf.facet.rs/ \uFFFC\nfacet KDL showcase — https://facet.rs/guide/showcases/kdl/ \uFFFC\nfacet format-crate matrix — https://facet.rs/reference/format-crate-matrix/ \uFFFC\nmerde (deprecated; “please use facet instead”) — https://github.com/bearcove/merde \uFFFC\ndodeca (used for facet.rs docs) — https://dodeca.bearcove.eu/ \uFFFC\npicante (async incremental queries, salsa-style) — https://picante.bearcove.eu/ \uFFFC\npikru (Pikchr C vs Rust comparison / project page) — https://pikru.bearcove.eu/ \uFFFC\naasvg-rs (Rust port of aasvg) — https://github.com/bearcove/aasvg-rs \uFFFC\nrapace (RPC/IPC over shared memory; docs) — https://rapace.bearcove.eu/ \uFFFC\nfs-kitty (FSKit bridge “via rapace”) — https://github.com/bearcove/fs-kitty \uFFFC\ntracey (mentioned via source link in the article) — https://github.com/bearcove/tracey \uFFFC\nvixen — https://github.com/bearcove/vixen \uFFFC\nwoofwoof (WOFF2 build, packaged) — https://lib.rs/crates/woofwoof \uFFFC\nfontcull (font subsetting tool) — https://lib.rs/crates/fontcull \uFFFC\n\n✨ Contents\n\n00:10 facet\n09:25 arborium\n10:43 dodeca\n12:42 rapace\n14:59 tracey\n16:24 picante\n19:57 pikru and aasvg-rs\n23:53 fs-kitty\n26:20 vixen\n32:05 outro", "2025 Recap: so many projects", "7a028ba9-7e2c-4b41-b0e7-2c2bb4ecec76", "5Rj0Nxk6w08", 2030, false, "https://www.youtube.com/watch?v=5Rj0Nxk6w08", 3, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e123100_2025 Recap: so many projects.mp4", false, false, false, 29, [], 98, ~U[2025-12-31 22:00:06Z], ~U[2026-06-29 13:10:40Z], ~U[2026-06-29 13:10:40Z], "Father forgive me for I have made SO MANY CODEBASES and now I need to tend to them all.\n\nHappy new year in advance, wherever you watch this.\n\nSponsor me on GitHub: https://github.com/sponsors/fasterthanlime\nOr on Patreon: https://www.patreon.com/fasterthanlime\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nOr Bluesky: https://bsky.app/profile/fasterthanli.me\n\nCheck out Self-Directed Research, my podcast co-hosted with James and produced with Amanda: https://sdr-podcast.com/\n\n🗒️ References\n\n2025 Recap article — https://fasterthanli.me/articles/2025-recap \uFFFC\nfacet (project homepage) — https://facet.rs/ \uFFFC\nfacet (GitHub repo) — https://github.com/facet-rs/facet \uFFFC\nfacet perf tracker / benchmarks — https://perf.facet.rs/ \uFFFC\nfacet KDL showcase — https://facet.rs/guide/showcases/kdl/ \uFFFC\nfacet format-crate matrix — https://facet.rs/reference/format-crate-matrix/ \uFFFC\nmerde (deprecated; “please use facet instead”) — https://github.com/bearcove/merde \uFFFC\ndodeca (used for facet.rs docs) — https://dodeca.bearcove.eu/ \uFFFC\npicante (async incremental queries, salsa-style) — https://picante.bearcove.eu/ \uFFFC\npikru (Pikchr C vs Rust comparison / project page) — https://pikru.bearcove.eu/ \uFFFC\naasvg-rs (Rust port of aasvg) — https://github.com/bearcove/aasvg-rs \uFFFC\nrapace (RPC/IPC over shared memory; docs) — https://rapace.bearcove.eu/ \uFFFC\nfs-kitty (FSKit bridge “via rapace”) — https://github.com/bearcove/fs-kitty \uFFFC\ntracey (mentioned via source link in the article) — https://github.com/bearcove/tracey \uFFFC\nvixen — https://github.com/bearcove/vixen \uFFFC\nwoofwoof (WOFF2 build, packaged) — https://lib.rs/crates/woofwoof \uFFFC\nfontcull (font subsetting tool) — https://lib.rs/crates/fontcull \uFFFC\n\n✨ Contents\n\n00:10 facet\n09:25 arborium\n10:43 dodeca\n12:42 rapace\n14:59 tracey\n16:24 picante\n19:57 pikru and aasvg-rs\n23:53 fs-kitty\n26:20 vixen\n32:05 outro", "2025 Recap: so many projects", "5Rj0Nxk6w08", 2030, false, "https://www.youtube.com/watch?v=5Rj0Nxk6w08", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e123100_2025 Recap: so many projects.mp4", false, 29, ~U[2025-12-31 22:00:06Z]] 08:10:40.686 [debug] QUERY OK source="sources" db=0.1ms idle=74.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:10:40.686 [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] 08:10:40.686 [debug] QUERY OK source="media_items" db=0.1ms 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 [1907774] 08:10:40.687 [debug] Current batch of media processed. Will check again in 1000ms 08:10:41.688 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Start learning cyber security with TryHackMe: https://tryhackme.com/ftl-nov Use my code \"FTL25\" to get 25% off on annual subscription.\n\nArticle version: https://fasterthanli.me/articles/does-dioxus-spark-joy\n\nGood evening. Tonight I'll attempt to answer the question: Does Dioxus spark joy?\n\nAfter moulte délibérations... it's complicated.\n\nThis video was adapted from a talk I gave at the Rust Paris Meetup in October 2025. \n\nThis video was sponsored by TryHackMe\n\nCheck out Dioxus: https://dioxuslabs.com/\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n✨ Credits\n\nVideo Editor\nVlad Korovin — @vl_koro \n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "duration" => 645, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e112200_Does Dioxus spark joy?.mp4", "id" => "s633wfOrmuU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=s633wfOrmuU", "playlist_index" => 4, "timestamp" => 1763836206, "title" => "Does Dioxus spark joy?", "upload_date" => "20251122"} 08:10:41.688 [debug] QUERY OK source="sources" db=0.1ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:10:41.689 [debug] QUERY OK source="sources" db=0.1ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:10:41.689 [debug] QUERY OK source="media_items" db=0.2ms idle=1002.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-22 18:30:06Z], 29] 08:10:41.691 [debug] QUERY OK source="media_items" db=1.8ms idle=1002.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start learning cyber security with TryHackMe: https://tryhackme.com/ftl-nov Use my code \"FTL25\" to get 25% off on annual subscription.\n\nArticle version: https://fasterthanli.me/articles/does-dioxus-spark-joy\n\nGood evening. Tonight I'll attempt to answer the question: Does Dioxus spark joy?\n\nAfter moulte délibérations... it's complicated.\n\nThis video was adapted from a talk I gave at the Rust Paris Meetup in October 2025. \n\nThis video was sponsored by TryHackMe\n\nCheck out Dioxus: https://dioxuslabs.com/\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n✨ Credits\n\nVideo Editor\nVlad Korovin — @vl_koro \n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "Does Dioxus spark joy?", "e94a518e-ae4e-480a-a493-792154a7a45d", "s633wfOrmuU", 645, false, "https://www.youtube.com/watch?v=s633wfOrmuU", 4, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e112200_Does Dioxus spark joy?.mp4", false, false, false, 29, [], 98, ~U[2025-11-22 18:30:06Z], ~U[2026-06-29 13:10:41Z], ~U[2026-06-29 13:10:41Z], "Start learning cyber security with TryHackMe: https://tryhackme.com/ftl-nov Use my code \"FTL25\" to get 25% off on annual subscription.\n\nArticle version: https://fasterthanli.me/articles/does-dioxus-spark-joy\n\nGood evening. Tonight I'll attempt to answer the question: Does Dioxus spark joy?\n\nAfter moulte délibérations... it's complicated.\n\nThis video was adapted from a talk I gave at the Rust Paris Meetup in October 2025. \n\nThis video was sponsored by TryHackMe\n\nCheck out Dioxus: https://dioxuslabs.com/\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n✨ Credits\n\nVideo Editor\nVlad Korovin — @vl_koro \n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "Does Dioxus spark joy?", "s633wfOrmuU", 645, false, "https://www.youtube.com/watch?v=s633wfOrmuU", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e112200_Does Dioxus spark joy?.mp4", false, 29, ~U[2025-11-22 18:30:06Z]] 08:10:41.692 [debug] QUERY OK source="sources" db=0.1ms idle=78.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:10:41.692 [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] 08:10:41.692 [debug] QUERY OK source="media_items" db=0.1ms 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 [1600644] 08:10:41.692 [debug] Current batch of media processed. Will check again in 1000ms 08:10:42.694 [debug] Current batch of media processed. Will check again in 1000ms 08:10:43.695 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Article version: https://fasterthanli.me/articles/engineering-a-rust-optimization-quiz\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\nCheck out Rustlab IT: https://rustlab.it/\n\n✨ Credits\n\nVideo Editor\nVlad Korovin — @vl_koro \n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "duration" => 798, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e110100_Engineering a Rust optimization quiz.mp4", "id" => "KmZz-sZPTTo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KmZz-sZPTTo", "playlist_index" => 5, "timestamp" => 1761998860, "title" => "Engineering a Rust optimization quiz", "upload_date" => "20251101"} 08:10:43.696 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=539.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:10:43.696 [debug] QUERY OK source="sources" db=0.1ms idle=539.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:10:43.697 [debug] QUERY OK source="media_items" db=0.2ms idle=539.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 12:07:40Z], 29] 08:10:43.699 [debug] QUERY OK source="media_items" db=1.8ms idle=540.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Article version: https://fasterthanli.me/articles/engineering-a-rust-optimization-quiz\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\nCheck out Rustlab IT: https://rustlab.it/\n\n✨ Credits\n\nVideo Editor\nVlad Korovin — @vl_koro \n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "Engineering a Rust optimization quiz", "47c22d13-5986-4baf-b62a-38998926e589", "KmZz-sZPTTo", 798, false, "https://www.youtube.com/watch?v=KmZz-sZPTTo", 5, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e110100_Engineering a Rust optimization quiz.mp4", false, false, false, 29, [], 98, ~U[2025-11-01 12:07:40Z], ~U[2026-06-29 13:10:43Z], ~U[2026-06-29 13:10:43Z], "Article version: https://fasterthanli.me/articles/engineering-a-rust-optimization-quiz\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\nCheck out Rustlab IT: https://rustlab.it/\n\n✨ Credits\n\nVideo Editor\nVlad Korovin — @vl_koro \n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "Engineering a Rust optimization quiz", "KmZz-sZPTTo", 798, false, "https://www.youtube.com/watch?v=KmZz-sZPTTo", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e110100_Engineering a Rust optimization quiz.mp4", false, 29, ~U[2025-11-01 12:07:40Z]] 08:10:43.699 [debug] QUERY OK source="sources" db=0.1ms idle=83.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:10:43.700 [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] 08:10:43.700 [debug] QUERY OK source="media_items" db=0.1ms 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 [1431310] 08:10:43.700 [debug] Current batch of media processed. Will check again in 1000ms 08:10:44.701 [debug] Current batch of media processed. Will check again in 1000ms 08:10:45.702 [debug] Current batch of media processed. Will check again in 1000ms 08:10:46.703 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get 25% off your first Curiosity Box now! — https://www.curiositybox.com/FasterThanLime\n\nThis video was sponsored by Curiosity Box.\n\nArticle version: https://fasterthanli.me/articles/the-science-of-loudness\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Intro\n00:50 What even is sound?\n02:00 dB SPL\n02:55 dB FS\n03:44 Distortion and clipping\n04:19 Quasi-PPMs\n04:52 VU meters\n05:24 Sample Peak\n05:58 True Peak / Intersample overs\n06:19 Sponsored segment\n07:18 Compression\n08:01 LKFS\n09:18 Normalization / DRC\n09:57 Equal-loudness contour graphs\n\n✨ Credits\n\nVideo Editor\nSekun Ho\n\nEverything elseist\nAmos Wenger", "duration" => 686, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e082200_The science of loudness.mp4", "id" => "98NB0BcaZTI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=98NB0BcaZTI", "playlist_index" => 6, "timestamp" => 1755894606, "title" => "The science of loudness", "upload_date" => "20250822"} 08:10:46.704 [debug] QUERY OK source="sources" db=0.2ms idle=1546.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:10:46.704 [debug] QUERY OK source="sources" db=0.1ms idle=1547.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:10:46.704 [debug] QUERY OK source="media_items" db=0.2ms idle=1547.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-22 20:30:06Z], 29] 08:10:46.724 [debug] QUERY OK source="media_items" db=18.9ms idle=1087.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 25% off your first Curiosity Box now! — https://www.curiositybox.com/FasterThanLime\n\nThis video was sponsored by Curiosity Box.\n\nArticle version: https://fasterthanli.me/articles/the-science-of-loudness\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Intro\n00:50 What even is sound?\n02:00 dB SPL\n02:55 dB FS\n03:44 Distortion and clipping\n04:19 Quasi-PPMs\n04:52 VU meters\n05:24 Sample Peak\n05:58 True Peak / Intersample overs\n06:19 Sponsored segment\n07:18 Compression\n08:01 LKFS\n09:18 Normalization / DRC\n09:57 Equal-loudness contour graphs\n\n✨ Credits\n\nVideo Editor\nSekun Ho\n\nEverything elseist\nAmos Wenger", "The science of loudness", "0bd769f3-5003-4f66-9eb3-a231af9f8464", "98NB0BcaZTI", 686, false, "https://www.youtube.com/watch?v=98NB0BcaZTI", 6, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e082200_The science of loudness.mp4", false, false, false, 29, [], 98, ~U[2025-08-22 20:30:06Z], ~U[2026-06-29 13:10:46Z], ~U[2026-06-29 13:10:46Z], "Get 25% off your first Curiosity Box now! — https://www.curiositybox.com/FasterThanLime\n\nThis video was sponsored by Curiosity Box.\n\nArticle version: https://fasterthanli.me/articles/the-science-of-loudness\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Intro\n00:50 What even is sound?\n02:00 dB SPL\n02:55 dB FS\n03:44 Distortion and clipping\n04:19 Quasi-PPMs\n04:52 VU meters\n05:24 Sample Peak\n05:58 True Peak / Intersample overs\n06:19 Sponsored segment\n07:18 Compression\n08:01 LKFS\n09:18 Normalization / DRC\n09:57 Equal-loudness contour graphs\n\n✨ Credits\n\nVideo Editor\nSekun Ho\n\nEverything elseist\nAmos Wenger", "The science of loudness", "98NB0BcaZTI", 686, false, "https://www.youtube.com/watch?v=98NB0BcaZTI", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e082200_The science of loudness.mp4", false, 29, ~U[2025-08-22 20:30:06Z]] 08:10:46.724 [debug] QUERY OK source="sources" db=0.3ms idle=105.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:10:46.725 [debug] QUERY OK source="media_profiles" db=0.1ms idle=20.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:10:46.725 [debug] QUERY OK source="media_items" db=0.1ms idle=20.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [926735] 08:10:46.725 [debug] Current batch of media processed. Will check again in 1000ms 08:10:47.726 [debug] Current batch of media processed. Will check again in 1000ms 08:10:48.727 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/ . You’ll also get 20% off an annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/all-color-is-best-effort\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 The mystery\n01:15 Sponsored segment\n02:40 No really, what is this\n03:41 Playing with color spaces\n04:55 CIE Chromaticity diagrams\n07:16 Our first transfer function\n08:55 Parade scope\n10:05 More transfer functions\n15:25 How white is your white?\n17:47 Conclusion\n18:49 Credits\n\n🔗 Links\n\nWanna see a whiter white? https://kidi.ng/wanna-see-a-whiter-white/\n\n✨ Credits\n\nVoice of Cool Bear\nTristram Oaten — @NoBoilerplate\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "duration" => 1156, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e062700_All color is best-effort.mp4", "id" => "OzCbdsVVnKI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OzCbdsVVnKI", "playlist_index" => 7, "timestamp" => 1751058006, "title" => "All color is best-effort", "upload_date" => "20250627"} 08:10:48.727 [debug] QUERY OK source="sources" db=0.2ms idle=570.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:10:48.728 [debug] QUERY OK source="sources" db=0.1ms idle=570.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:10:48.728 [debug] QUERY OK source="media_items" db=0.3ms idle=571.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-27 21:00:06Z], 29] 08:10:48.735 [debug] QUERY OK source="media_items" db=6.1ms idle=571.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/ . You’ll also get 20% off an annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/all-color-is-best-effort\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 The mystery\n01:15 Sponsored segment\n02:40 No really, what is this\n03:41 Playing with color spaces\n04:55 CIE Chromaticity diagrams\n07:16 Our first transfer function\n08:55 Parade scope\n10:05 More transfer functions\n15:25 How white is your white?\n17:47 Conclusion\n18:49 Credits\n\n🔗 Links\n\nWanna see a whiter white? https://kidi.ng/wanna-see-a-whiter-white/\n\n✨ Credits\n\nVoice of Cool Bear\nTristram Oaten — @NoBoilerplate\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "All color is best-effort", "8581c29f-0172-4af0-be8e-f999d4eacc89", "OzCbdsVVnKI", 1156, false, "https://www.youtube.com/watch?v=OzCbdsVVnKI", 7, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e062700_All color is best-effort.mp4", false, false, false, 29, [], 98, ~U[2025-06-27 21:00:06Z], ~U[2026-06-29 13:10:48Z], ~U[2026-06-29 13:10:48Z], "To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/ . You’ll also get 20% off an annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/all-color-is-best-effort\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 The mystery\n01:15 Sponsored segment\n02:40 No really, what is this\n03:41 Playing with color spaces\n04:55 CIE Chromaticity diagrams\n07:16 Our first transfer function\n08:55 Parade scope\n10:05 More transfer functions\n15:25 How white is your white?\n17:47 Conclusion\n18:49 Credits\n\n🔗 Links\n\nWanna see a whiter white? https://kidi.ng/wanna-see-a-whiter-white/\n\n✨ Credits\n\nVoice of Cool Bear\nTristram Oaten — @NoBoilerplate\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "All color is best-effort", "OzCbdsVVnKI", 1156, false, "https://www.youtube.com/watch?v=OzCbdsVVnKI", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e062700_All color is best-effort.mp4", false, 29, ~U[2025-06-27 21:00:06Z]] 08:10:48.735 [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" = ?) [29] 08:10:48.735 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:10:48.736 [debug] QUERY OK source="media_items" db=0.1ms 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 [655367] 08:10:48.736 [debug] Current batch of media processed. Will check again in 1000ms 08:10:49.737 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Learn cybersecurity by doing over 900 hands-on labs, and over 400 security challenges regardless of experience level! Use https://tryhackme.com/why-subscribe?utm_source=youtube&utm_medium=social&utm_campaign=fasterthanlime_ai, or discount code LIME20 for 20% off.\n\nArticle version: https://fasterthanli.me/articles/introducing-facet-reflection-for-rust\n\nThis video was sponsored by TryHackMe.\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Let they who are without syn…\n03:18 Monomorphization\n05:16 A different strategy\n10:03 Today, tomorrow\n10:44 Sponsored segment\n11:58 Today, tomorrow (cont.)\n18:27 Credits\n\n🔗 Links in video\n\n- Why is my Rust build so slow https://fasterthanli.me/articles/why-is-my-rust-build-so-slow\n- Building a Rust service with Nix https://fasterthanli.me/series/building-a-rust-service-with-nix\n- facet https://github.com/facet-rs/facet\n- dylo https://github.com/bearcove/dylo\n- rubicon https://github.com/bearcove/rubicon\n- home https://github.com/bearcove/home\n- Relink, don't rebuild https://github.com/rust-lang/compiler-team/issues/790\n\n✨ Credits\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "duration" => 1132, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e060500_Introducing facet: Reflection for Rust.mp4", "id" => "0mqFCqw_XvI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0mqFCqw_XvI", "playlist_index" => 8, "timestamp" => 1749150501, "title" => "Introducing facet: Reflection for Rust", "upload_date" => "20250605"} 08:10:49.738 [debug] QUERY OK source="sources" db=0.1ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:10:49.738 [debug] QUERY OK source="sources" db=0.1ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:10:49.738 [debug] QUERY OK source="media_items" db=0.2ms idle=1002.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-05 19:08:21Z], 29] 08:10:49.741 [debug] QUERY OK source="media_items" db=2.7ms idle=1002.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Learn cybersecurity by doing over 900 hands-on labs, and over 400 security challenges regardless of experience level! Use https://tryhackme.com/why-subscribe?utm_source=youtube&utm_medium=social&utm_campaign=fasterthanlime_ai, or discount code LIME20 for 20% off.\n\nArticle version: https://fasterthanli.me/articles/introducing-facet-reflection-for-rust\n\nThis video was sponsored by TryHackMe.\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Let they who are without syn…\n03:18 Monomorphization\n05:16 A different strategy\n10:03 Today, tomorrow\n10:44 Sponsored segment\n11:58 Today, tomorrow (cont.)\n18:27 Credits\n\n🔗 Links in video\n\n- Why is my Rust build so slow https://fasterthanli.me/articles/why-is-my-rust-build-so-slow\n- Building a Rust service with Nix https://fasterthanli.me/series/building-a-rust-service-with-nix\n- facet https://github.com/facet-rs/facet\n- dylo https://github.com/bearcove/dylo\n- rubicon https://github.com/bearcove/rubicon\n- home https://github.com/bearcove/home\n- Relink, don't rebuild https://github.com/rust-lang/compiler-team/issues/790\n\n✨ Credits\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "Introducing facet: Reflection for Rust", "0d5c2e15-29a5-4349-85fe-ee365f24ef46", "0mqFCqw_XvI", 1132, false, "https://www.youtube.com/watch?v=0mqFCqw_XvI", 8, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e060500_Introducing facet: Reflection for Rust.mp4", false, false, false, 29, [], 98, ~U[2025-06-05 19:08:21Z], ~U[2026-06-29 13:10:49Z], ~U[2026-06-29 13:10:49Z], "Learn cybersecurity by doing over 900 hands-on labs, and over 400 security challenges regardless of experience level! Use https://tryhackme.com/why-subscribe?utm_source=youtube&utm_medium=social&utm_campaign=fasterthanlime_ai, or discount code LIME20 for 20% off.\n\nArticle version: https://fasterthanli.me/articles/introducing-facet-reflection-for-rust\n\nThis video was sponsored by TryHackMe.\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Let they who are without syn…\n03:18 Monomorphization\n05:16 A different strategy\n10:03 Today, tomorrow\n10:44 Sponsored segment\n11:58 Today, tomorrow (cont.)\n18:27 Credits\n\n🔗 Links in video\n\n- Why is my Rust build so slow https://fasterthanli.me/articles/why-is-my-rust-build-so-slow\n- Building a Rust service with Nix https://fasterthanli.me/series/building-a-rust-service-with-nix\n- facet https://github.com/facet-rs/facet\n- dylo https://github.com/bearcove/dylo\n- rubicon https://github.com/bearcove/rubicon\n- home https://github.com/bearcove/home\n- Relink, don't rebuild https://github.com/rust-lang/compiler-team/issues/790\n\n✨ Credits\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "Introducing facet: Reflection for Rust", "0mqFCqw_XvI", 1132, false, "https://www.youtube.com/watch?v=0mqFCqw_XvI", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e060500_Introducing facet: Reflection for Rust.mp4", false, 29, ~U[2025-06-05 19:08:21Z]] 08:10:49.742 [debug] QUERY OK source="sources" db=0.1ms idle=119.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:10:49.742 [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] 08:10:49.742 [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 [542401] 08:10:49.742 [debug] Current batch of media processed. Will check again in 1000ms 08:10:50.744 [debug] Current batch of media processed. Will check again in 1000ms 08:10:51.745 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/ . You’ll also get 20% off an annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/the-virtue-of-unsynn\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Addressing the rumors\n01:12 Sponsored segment\n02:48 Build times\n03:27 Comparing apples and nuclear submarines\n04:37 Macro expansion\n06:05 Build times, again\n07:21 Enter unsynn\n10:49 Warm builds\n12:53 Putting things into perspective\n14:44 Tooling\n15:23 Credits\n\n✨ Credits\n\nVoice of Cool Bear\nTristram Oaten — @NoBoilerplate\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "duration" => 947, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e052900_The virtue of unsynn.mp4", "id" => "YtbUzIQw-so", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YtbUzIQw-so", "playlist_index" => 9, "timestamp" => 1748540406, "title" => "The virtue of unsynn", "upload_date" => "20250529"} 08:10:51.746 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=589.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:10:51.746 [debug] QUERY OK source="sources" db=0.1ms idle=589.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:10:51.747 [debug] QUERY OK source="media_items" db=0.2ms idle=589.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-29 17:40:06Z], 29] 08:10:51.751 [debug] QUERY OK source="media_items" db=3.5ms idle=590.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/ . You’ll also get 20% off an annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/the-virtue-of-unsynn\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Addressing the rumors\n01:12 Sponsored segment\n02:48 Build times\n03:27 Comparing apples and nuclear submarines\n04:37 Macro expansion\n06:05 Build times, again\n07:21 Enter unsynn\n10:49 Warm builds\n12:53 Putting things into perspective\n14:44 Tooling\n15:23 Credits\n\n✨ Credits\n\nVoice of Cool Bear\nTristram Oaten — @NoBoilerplate\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "The virtue of unsynn", "6b82e281-4676-46e9-893b-0d4a3eede938", "YtbUzIQw-so", 947, false, "https://www.youtube.com/watch?v=YtbUzIQw-so", 9, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e052900_The virtue of unsynn.mp4", false, false, false, 29, [], 98, ~U[2025-05-29 17:40:06Z], ~U[2026-06-29 13:10:51Z], ~U[2026-06-29 13:10:51Z], "To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/ . You’ll also get 20% off an annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/the-virtue-of-unsynn\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Addressing the rumors\n01:12 Sponsored segment\n02:48 Build times\n03:27 Comparing apples and nuclear submarines\n04:37 Macro expansion\n06:05 Build times, again\n07:21 Enter unsynn\n10:49 Warm builds\n12:53 Putting things into perspective\n14:44 Tooling\n15:23 Credits\n\n✨ Credits\n\nVoice of Cool Bear\nTristram Oaten — @NoBoilerplate\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "The virtue of unsynn", "YtbUzIQw-so", 947, false, "https://www.youtube.com/watch?v=YtbUzIQw-so", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e052900_The virtue of unsynn.mp4", false, 29, ~U[2025-05-29 17:40:06Z]] 08:10:51.751 [debug] QUERY OK source="sources" db=0.1ms idle=125.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:10:51.751 [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] 08:10:51.752 [debug] QUERY OK source="media_items" db=0.1ms 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 [508744] 08:10:51.752 [debug] Current batch of media processed. Will check again in 1000ms 08:10:52.753 [debug] Current batch of media processed. Will check again in 1000ms 08:10:53.752 [info] {"source":"oban","duration":8414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:53.754 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get paid to make open-source software more memory-safe: https://bughunters.google.com/open-source-security/patch-rewards\n\nThis video was sponsored by Google Security.\n\nArticle version: https://fasterthanli.me/articles/the-promise-of-rust\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Rust move semantics\n02:34 JavaScript semantics\n04:13 Go semantics\n05:40 Deep cloning\n07:58 Constness in C and C++\n09:39 Linear types\n11:21 Sponsored segment\n13:20 Immutability in Rust\n14:38 Unsafe Rust\n20:15 Aliasing XOR mutability\n28:18 Credits\n\n✨ Credits\n\nPatch Rewards Program Campaign Design & Coordination\nStink Studios — https://www.stinkstudios.com/\n\nEverything else, I suppose\nAmos Wenger — https://fasterthanli.me/", "duration" => 1745, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e041600_The promise of Rust.mp4", "id" => "zo6yZisg7N0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zo6yZisg7N0", "playlist_index" => 10, "timestamp" => 1744835406, "title" => "The promise of Rust", "upload_date" => "20250416"} 08:10:53.754 [debug] QUERY OK source="sources" db=0.1ms idle=597.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:10:53.754 [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" = ?) [29] 08:10:53.755 [debug] QUERY OK source="media_items" db=0.2ms idle=597.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-16 20:30:06Z], 29] 08:10:53.757 [debug] QUERY OK source="media_items" db=2.3ms idle=127.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get paid to make open-source software more memory-safe: https://bughunters.google.com/open-source-security/patch-rewards\n\nThis video was sponsored by Google Security.\n\nArticle version: https://fasterthanli.me/articles/the-promise-of-rust\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Rust move semantics\n02:34 JavaScript semantics\n04:13 Go semantics\n05:40 Deep cloning\n07:58 Constness in C and C++\n09:39 Linear types\n11:21 Sponsored segment\n13:20 Immutability in Rust\n14:38 Unsafe Rust\n20:15 Aliasing XOR mutability\n28:18 Credits\n\n✨ Credits\n\nPatch Rewards Program Campaign Design & Coordination\nStink Studios — https://www.stinkstudios.com/\n\nEverything else, I suppose\nAmos Wenger — https://fasterthanli.me/", "The promise of Rust", "ca63c75d-39e8-46a5-b6a6-a4b2a3188318", "zo6yZisg7N0", 1745, false, "https://www.youtube.com/watch?v=zo6yZisg7N0", 10, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e041600_The promise of Rust.mp4", false, false, false, 29, [], 98, ~U[2025-04-16 20:30:06Z], ~U[2026-06-29 13:10:53Z], ~U[2026-06-29 13:10:53Z], "Get paid to make open-source software more memory-safe: https://bughunters.google.com/open-source-security/patch-rewards\n\nThis video was sponsored by Google Security.\n\nArticle version: https://fasterthanli.me/articles/the-promise-of-rust\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Rust move semantics\n02:34 JavaScript semantics\n04:13 Go semantics\n05:40 Deep cloning\n07:58 Constness in C and C++\n09:39 Linear types\n11:21 Sponsored segment\n13:20 Immutability in Rust\n14:38 Unsafe Rust\n20:15 Aliasing XOR mutability\n28:18 Credits\n\n✨ Credits\n\nPatch Rewards Program Campaign Design & Coordination\nStink Studios — https://www.stinkstudios.com/\n\nEverything else, I suppose\nAmos Wenger — https://fasterthanli.me/", "The promise of Rust", "zo6yZisg7N0", 1745, false, "https://www.youtube.com/watch?v=zo6yZisg7N0", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e041600_The promise of Rust.mp4", false, 29, ~U[2025-04-16 20:30:06Z]] 08:10:53.758 [debug] QUERY OK source="sources" db=0.6ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:10:53.758 [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] 08:10:53.759 [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 [360920] 08:10:53.759 [debug] Current batch of media processed. Will check again in 1000ms 08:10:54.760 [debug] Current batch of media processed. Will check again in 1000ms 08:10:55.761 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get paid to make open-source software more memory-safe: https://bughunters.google.com/open-source-security/patch-rewards\n\nThis video was sponsored by Google Security.\n\nArticle version: https://fasterthanli.me/articles/the-case-for-sans-io\nExtras are available at https://fasterthanli.me/extras\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\nrc-zip: https://github.com/bearcove/rc-zip\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 You can read this... for a price\n00:17 Introduction\n01:09 Character encoding differences\n03:33 Platform differences\n05:42 The end of central directory record\n07:15 Boundary confusion\n08:21 Sponsored segment (get paid for memory safety!)\n09:50 Boundary confusion (encore)\n11:17 Not doing any I/O at all\n13:22 The structure of rc-zip\n15:12 Bringing io_uring into it\n18:50 Plugging rc-zip into monoio\n22:44 Closing words\n\n✨ Credits\n\nAdditional Photography, rc-zip logo\nMichalina Ślemp — https://misiasart.com/\n\nThumbnail Art\nReimena Yee — https://reimenayee.com/\n\nOutro Mixing Engineer\nSylvain Wenger — https://www.bigsylvain.com/\n\nPatch Rewards Program Campaign Design & Coordination\nStink Studios — https://www.stinkstudios.com/\n\nEverything else, I suppose\nAmos Wenger — https://fasterthanli.me/", "duration" => 1449, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e020700_The case for sans-io.mp4", "id" => "RYHYiXMJdZI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RYHYiXMJdZI", "playlist_index" => 11, "timestamp" => 1738958286, "title" => "The case for sans-io", "upload_date" => "20250207"} 08:10:55.762 [debug] QUERY OK source="sources" db=0.2ms idle=604.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:10:55.762 [debug] QUERY OK source="sources" db=0.1ms idle=605.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:10:55.762 [debug] QUERY OK source="media_items" db=0.4ms idle=605.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-07 19:58:06Z], 29] 08:10:55.765 [debug] QUERY OK source="media_items" db=1.6ms idle=606.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get paid to make open-source software more memory-safe: https://bughunters.google.com/open-source-security/patch-rewards\n\nThis video was sponsored by Google Security.\n\nArticle version: https://fasterthanli.me/articles/the-case-for-sans-io\nExtras are available at https://fasterthanli.me/extras\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\nrc-zip: https://github.com/bearcove/rc-zip\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 You can read this... for a price\n00:17 Introduction\n01:09 Character encoding differences\n03:33 Platform differences\n05:42 The end of central directory record\n07:15 Boundary confusion\n08:21 Sponsored segment (get paid for memory safety!)\n09:50 Boundary confusion (encore)\n11:17 Not doing any I/O at all\n13:22 The structure of rc-zip\n15:12 Bringing io_uring into it\n18:50 Plugging rc-zip into monoio\n22:44 Closing words\n\n✨ Credits\n\nAdditional Photography, rc-zip logo\nMichalina Ślemp — https://misiasart.com/\n\nThumbnail Art\nReimena Yee — https://reimenayee.com/\n\nOutro Mixing Engineer\nSylvain Wenger — https://www.bigsylvain.com/\n\nPatch Rewards Program Campaign Design & Coordination\nStink Studios — https://www.stinkstudios.com/\n\nEverything else, I suppose\nAmos Wenger — https://fasterthanli.me/", "The case for sans-io", "f4f889d0-b02e-417b-804a-fc3794d37c97", "RYHYiXMJdZI", 1449, false, "https://www.youtube.com/watch?v=RYHYiXMJdZI", 11, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e020700_The case for sans-io.mp4", false, false, false, 29, [], 98, ~U[2025-02-07 19:58:06Z], ~U[2026-06-29 13:10:55Z], ~U[2026-06-29 13:10:55Z], "Get paid to make open-source software more memory-safe: https://bughunters.google.com/open-source-security/patch-rewards\n\nThis video was sponsored by Google Security.\n\nArticle version: https://fasterthanli.me/articles/the-case-for-sans-io\nExtras are available at https://fasterthanli.me/extras\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\nrc-zip: https://github.com/bearcove/rc-zip\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 You can read this... for a price\n00:17 Introduction\n01:09 Character encoding differences\n03:33 Platform differences\n05:42 The end of central directory record\n07:15 Boundary confusion\n08:21 Sponsored segment (get paid for memory safety!)\n09:50 Boundary confusion (encore)\n11:17 Not doing any I/O at all\n13:22 The structure of rc-zip\n15:12 Bringing io_uring into it\n18:50 Plugging rc-zip into monoio\n22:44 Closing words\n\n✨ Credits\n\nAdditional Photography, rc-zip logo\nMichalina Ślemp — https://misiasart.com/\n\nThumbnail Art\nReimena Yee — https://reimenayee.com/\n\nOutro Mixing Engineer\nSylvain Wenger — https://www.bigsylvain.com/\n\nPatch Rewards Program Campaign Design & Coordination\nStink Studios — https://www.stinkstudios.com/\n\nEverything else, I suppose\nAmos Wenger — https://fasterthanli.me/", "The case for sans-io", "RYHYiXMJdZI", 1449, false, "https://www.youtube.com/watch?v=RYHYiXMJdZI", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e020700_The case for sans-io.mp4", false, 29, ~U[2025-02-07 19:58:06Z]] 08:10:55.765 [debug] QUERY OK source="sources" db=0.2ms idle=134.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:10:55.765 [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] 08:10:55.766 [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 [360921] 08:10:55.766 [debug] Current batch of media processed. Will check again in 1000ms 08:10:56.767 [debug] Current batch of media processed. Will check again in 1000ms 08:10:57.768 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/catching-up-with-async-rust\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nContents\n\n00:00 Sponsor disclaimer\n00:04 Intro\n01:01 The size of locals\n02:15 Just boxing it\n03:20 Dynamic dispatch\n05:00 dyn-compatibility\n07:24 Associated types\n08:31 A refreshed Service trait\n09:03 Unnameable types\n09:51 Sponsored segment\n10:52 Lifetimes: a refresher\n11:58 Hidden captures\n13:42 Relaxing lifetime bounds\n14:24 Sendness\n16:06 Closing words\n16:38 Promoting https://sdr-podcast.com\n17:24 Outro song", "duration" => 1074, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e122500_Catching up with async Rust.mp4", "id" => "bnmln9HtqEI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bnmln9HtqEI", "playlist_index" => 12, "timestamp" => 1735158606, "title" => "Catching up with async Rust", "upload_date" => "20241225"} 08:10:57.768 [debug] QUERY OK source="sources" db=0.2ms idle=611.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:10:57.768 [debug] QUERY OK source="sources" db=0.1ms idle=611.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:10:57.769 [debug] QUERY OK source="media_items" db=0.3ms idle=612.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-25 20:30:06Z], 29] 08:10:57.771 [debug] QUERY OK source="media_items" db=1.8ms idle=612.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/catching-up-with-async-rust\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nContents\n\n00:00 Sponsor disclaimer\n00:04 Intro\n01:01 The size of locals\n02:15 Just boxing it\n03:20 Dynamic dispatch\n05:00 dyn-compatibility\n07:24 Associated types\n08:31 A refreshed Service trait\n09:03 Unnameable types\n09:51 Sponsored segment\n10:52 Lifetimes: a refresher\n11:58 Hidden captures\n13:42 Relaxing lifetime bounds\n14:24 Sendness\n16:06 Closing words\n16:38 Promoting https://sdr-podcast.com\n17:24 Outro song", "Catching up with async Rust", "d52f7592-92b3-439d-9fce-03be7642443d", "bnmln9HtqEI", 1074, false, "https://www.youtube.com/watch?v=bnmln9HtqEI", 12, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e122500_Catching up with async Rust.mp4", false, false, false, 29, [], 98, ~U[2024-12-25 20:30:06Z], ~U[2026-06-29 13:10:57Z], ~U[2026-06-29 13:10:57Z], "To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/catching-up-with-async-rust\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nContents\n\n00:00 Sponsor disclaimer\n00:04 Intro\n01:01 The size of locals\n02:15 Just boxing it\n03:20 Dynamic dispatch\n05:00 dyn-compatibility\n07:24 Associated types\n08:31 A refreshed Service trait\n09:03 Unnameable types\n09:51 Sponsored segment\n10:52 Lifetimes: a refresher\n11:58 Hidden captures\n13:42 Relaxing lifetime bounds\n14:24 Sendness\n16:06 Closing words\n16:38 Promoting https://sdr-podcast.com\n17:24 Outro song", "Catching up with async Rust", "bnmln9HtqEI", 1074, false, "https://www.youtube.com/watch?v=bnmln9HtqEI", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e122500_Catching up with async Rust.mp4", false, 29, ~U[2024-12-25 20:30:06Z]] 08:10:57.771 [debug] QUERY OK source="sources" db=0.1ms idle=138.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:10:57.772 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:10:57.772 [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 [360922] 08:10:57.772 [debug] Current batch of media processed. Will check again in 1000ms 08:10:58.773 [debug] Current batch of media processed. Will check again in 1000ms 08:10:59.774 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Article version: https://fasterthanli.me/articles/highlighted-code-in-slides\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nP99 conf talk: https://www.p99conf.io/session/rust-io_uring-ktls-how-fast-can-we-make-http/\n\nContents\n\n00:00 Intro\n00:47 Context\n02:30 Clipboards are fun\n07:24 Color spaces\n10:51 Closing thoughts\n11:18 Outro", "duration" => 717, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e112300_Highlighted code in slides.mp4", "id" => "OOO-_BCSwiU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OOO-_BCSwiU", "playlist_index" => 13, "timestamp" => 1732388406, "title" => "Highlighted code in slides", "upload_date" => "20241123"} 08:10:59.775 [debug] QUERY OK source="sources" db=0.2ms idle=618.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:10:59.775 [debug] QUERY OK source="sources" db=0.1ms idle=618.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:10:59.776 [debug] QUERY OK source="media_items" db=0.2ms 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[2024-11-23 19:00:06Z], 29] 08:10:59.778 [debug] QUERY OK source="media_items" db=1.7ms idle=619.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Article version: https://fasterthanli.me/articles/highlighted-code-in-slides\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nP99 conf talk: https://www.p99conf.io/session/rust-io_uring-ktls-how-fast-can-we-make-http/\n\nContents\n\n00:00 Intro\n00:47 Context\n02:30 Clipboards are fun\n07:24 Color spaces\n10:51 Closing thoughts\n11:18 Outro", "Highlighted code in slides", "e0f377a8-c7a4-4953-b2d1-151e060485a6", "OOO-_BCSwiU", 717, false, "https://www.youtube.com/watch?v=OOO-_BCSwiU", 13, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e112300_Highlighted code in slides.mp4", false, false, false, 29, [], 98, ~U[2024-11-23 19:00:06Z], ~U[2026-06-29 13:10:59Z], ~U[2026-06-29 13:10:59Z], "Article version: https://fasterthanli.me/articles/highlighted-code-in-slides\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nP99 conf talk: https://www.p99conf.io/session/rust-io_uring-ktls-how-fast-can-we-make-http/\n\nContents\n\n00:00 Intro\n00:47 Context\n02:30 Clipboards are fun\n07:24 Color spaces\n10:51 Closing thoughts\n11:18 Outro", "Highlighted code in slides", "OOO-_BCSwiU", 717, false, "https://www.youtube.com/watch?v=OOO-_BCSwiU", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e112300_Highlighted code in slides.mp4", false, 29, ~U[2024-11-23 19:00:06Z]] 08:10:59.778 [debug] QUERY OK source="sources" db=0.1ms idle=142.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:10:59.778 [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] 08:10:59.779 [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 [360923] 08:10:59.779 [debug] Current batch of media processed. Will check again in 1000ms 08:11:00.104 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:11:00.780 [debug] Current batch of media processed. Will check again in 1000ms 08:11:01.781 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "To try everything Brilliant has to offer—free—for a full 30 days, visit\u00A0https://brilliant.org/fasterthanlime\u00A0—\u00A0You’ll also get 20% off an annual premium subscription.\n\nEarly access: https://fasterthanli.me/videos/h2spec-to-rust\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\n(References continue below)\n\nContents\n\n00:00 Sponsor disclaimer\n00:02 Intro\n01:16 Current funding, thanks\n01:46 HTTP compliance suites\n02:51 \"..I decided to port it to Rust\"\n04:15 Don't repeat yourself\n05:02 Sponsored segment\n06:16 Codegen in Go\n07:11 Rust proc macros\n08:44 It's not that simple\n11:19 Enter rustdoc\n12:23 The whole process\n13:24 bindgen & friends\n15:17 Outro\n\nReferences\n\nfluke on GitHub: https://github.com/bearcove/fluke\n\nfly.io on GitHub: https://github.com/superfly\nShopify open source: https://shopify.github.io\n\nh2spec: https://github.com/summerwind/h2spec\nhyper: https://crates.io/crates/hyper \nThe HTTP/2 RFC: https://www.rfc-editor.org/rfc/rfc9113.html\ncargo-nextest: https://nexte.st\nHTTP request smuggling: https://portswigger.net/web-security/request-smuggling\nio_uring: https://en.wikipedia.org/wiki/Io_uring\nkTLS (in-kernel TLS): https://www.kernel.org/doc/html/latest/networking/tls.html\nProcedural Macros in the Rust Reference: https://doc.rust-lang.org/reference/procedural-macros.html\nthe fun kind of discipline: https://bdsmtest.org/\nthe nom parser combinator library: https://crates.io/crates/nom\nthe syn parser for proc macros: https://crates.io/crates/syn\nWhat could've been (Rust introspection): https://thephd.dev/i-am-no-longer-speaking-at-rustconf-2023\nmodule initialization/teardown functions for Rust (like __attribute__((constructor)) in C/C++): https://crates.io/crates/ctor\nGo's http2 implementation doing reference-counting without counting: https://pkg.go.dev/golang.org/x/net/http2#Framer.ReadFrame\nMy old programming language, ooc: https://ooc-lang.org\nThe itch.io desktop app: https://itch.io/app\nI want off Mr Golang's wild ride: https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride\nAiming for correctness with types: https://fasterthanli.me/articles/aiming-for-correctness-with-types\nLies we tell ourselves to keep using Golang: https://fasterthanli.me/articles/lies-we-tell-ourselves-to-keep-using-golang\nproc macros as WASM blobs: https://crates.io/crates/watt\nrustdoc JSON output: https://doc.rust-lang.org/rustdoc/unstable-features.html#json-output\nBootstrapping the Rust compiler: https://rustc-dev-guide.rust-lang.org/building/bootstrapping/what-bootstrapping-does.html\nrustdoc serde-ish types: https://crates.io/crates/rustdoc-types\nlint your crate API changes for semver violations: https://crates.io/crates/cargo-semver-checks\ngit hooks for Rust projects: https://crates.io/crates/cargo-husky\ncargo build scripts: https://doc.rust-lang.org/cargo/reference/build-scripts.html\n\nThis video was sponsored by Brilliant.", "duration" => 969, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e061000_I ported h2spec to Rust (also: codegen!).mp4", "id" => "eEtawNgwSC8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eEtawNgwSC8", "playlist_index" => 14, "timestamp" => 1718051407, "title" => "I ported h2spec to Rust (also: codegen!)", "upload_date" => "20240610"} 08:11:01.781 [debug] QUERY OK source="sources" db=0.2ms idle=624.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:11:01.782 [debug] QUERY OK source="sources" db=0.1ms idle=624.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:11:01.782 [debug] QUERY OK source="media_items" db=0.3ms idle=625.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-10 20:30:07Z], 29] 08:11:01.798 [debug] QUERY OK source="media_items" db=15.9ms idle=625.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["To try everything Brilliant has to offer—free—for a full 30 days, visit\u00A0https://brilliant.org/fasterthanlime\u00A0—\u00A0You’ll also get 20% off an annual premium subscription.\n\nEarly access: https://fasterthanli.me/videos/h2spec-to-rust\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\n(References continue below)\n\nContents\n\n00:00 Sponsor disclaimer\n00:02 Intro\n01:16 Current funding, thanks\n01:46 HTTP compliance suites\n02:51 \"..I decided to port it to Rust\"\n04:15 Don't repeat yourself\n05:02 Sponsored segment\n06:16 Codegen in Go\n07:11 Rust proc macros\n08:44 It's not that simple\n11:19 Enter rustdoc\n12:23 The whole process\n13:24 bindgen & friends\n15:17 Outro\n\nReferences\n\nfluke on GitHub: https://github.com/bearcove/fluke\n\nfly.io on GitHub: https://github.com/superfly\nShopify open source: https://shopify.github.io\n\nh2spec: https://github.com/summerwind/h2spec\nhyper: https://crates.io/crates/hyper \nThe HTTP/2 RFC: https://www.rfc-editor.org/rfc/rfc9113.html\ncargo-nextest: https://nexte.st\nHTTP request smuggling: https://portswigger.net/web-security/request-smuggling\nio_uring: https://en.wikipedia.org/wiki/Io_uring\nkTLS (in-kernel TLS): https://www.kernel.org/doc/html/latest/networking/tls.html\nProcedural Macros in the Rust Reference: https://doc.rust-lang.org/reference/procedural-macros.html\nthe fun kind of discipline: https://bdsmtest.org/\nthe nom parser combinator library: https://crates.io/crates/nom\nthe syn parser for proc macros: https://crates.io/crates/syn\nWhat could've been (Rust introspection): https://thephd.dev/i-am-no-longer-speaking-at-rustconf-2023\nmodule initialization/teardown functions for Rust (like __attribute__((constructor)) in C/C++): https://crates.io/crates/ctor\nGo's http2 implementation doing reference-counting without counting: https://pkg.go.dev/golang.org/x/net/http2#Framer.ReadFrame\nMy old programming language, ooc: https://ooc-lang.org\nThe itch.io desktop app: https://itch.io/app\nI want off Mr Golang's wild ride: https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride\nAiming for correctness with types: https://fasterthanli.me/articles/aiming-for-correctness-with-types\nLies we tell ourselves to keep using Golang: https://fasterthanli.me/articles/lies-we-tell-ourselves-to-keep-using-golang\nproc macros as WASM blobs: https://crates.io/crates/watt\nrustdoc JSON output: https://doc.rust-lang.org/rustdoc/unstable-features.html#json-output\nBootstrapping the Rust compiler: https://rustc-dev-guide.rust-lang.org/building/bootstrapping/what-bootstrapping-does.html\nrustdoc serde-ish types: https://crates.io/crates/rustdoc-types\nlint your crate API changes for semver violations: https://crates.io/crates/cargo-semver-checks\ngit hooks for Rust projects: https://crates.io/crates/cargo-husky\ncargo build scripts: https://doc.rust-lang.org/cargo/reference/build-scripts.html\n\nThis video was sponsored by Brilliant.", "I ported h2spec to Rust (also: codegen!)", "a0fe6fb9-e633-444e-8886-5841995ba2a7", "eEtawNgwSC8", 969, false, "https://www.youtube.com/watch?v=eEtawNgwSC8", 14, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e061000_I ported h2spec to Rust (also: codegen!).mp4", false, false, false, 29, [], 98, ~U[2024-06-10 20:30:07Z], ~U[2026-06-29 13:11:01Z], ~U[2026-06-29 13:11:01Z], "To try everything Brilliant has to offer—free—for a full 30 days, visit\u00A0https://brilliant.org/fasterthanlime\u00A0—\u00A0You’ll also get 20% off an annual premium subscription.\n\nEarly access: https://fasterthanli.me/videos/h2spec-to-rust\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\n(References continue below)\n\nContents\n\n00:00 Sponsor disclaimer\n00:02 Intro\n01:16 Current funding, thanks\n01:46 HTTP compliance suites\n02:51 \"..I decided to port it to Rust\"\n04:15 Don't repeat yourself\n05:02 Sponsored segment\n06:16 Codegen in Go\n07:11 Rust proc macros\n08:44 It's not that simple\n11:19 Enter rustdoc\n12:23 The whole process\n13:24 bindgen & friends\n15:17 Outro\n\nReferences\n\nfluke on GitHub: https://github.com/bearcove/fluke\n\nfly.io on GitHub: https://github.com/superfly\nShopify open source: https://shopify.github.io\n\nh2spec: https://github.com/summerwind/h2spec\nhyper: https://crates.io/crates/hyper \nThe HTTP/2 RFC: https://www.rfc-editor.org/rfc/rfc9113.html\ncargo-nextest: https://nexte.st\nHTTP request smuggling: https://portswigger.net/web-security/request-smuggling\nio_uring: https://en.wikipedia.org/wiki/Io_uring\nkTLS (in-kernel TLS): https://www.kernel.org/doc/html/latest/networking/tls.html\nProcedural Macros in the Rust Reference: https://doc.rust-lang.org/reference/procedural-macros.html\nthe fun kind of discipline: https://bdsmtest.org/\nthe nom parser combinator library: https://crates.io/crates/nom\nthe syn parser for proc macros: https://crates.io/crates/syn\nWhat could've been (Rust introspection): https://thephd.dev/i-am-no-longer-speaking-at-rustconf-2023\nmodule initialization/teardown functions for Rust (like __attribute__((constructor)) in C/C++): https://crates.io/crates/ctor\nGo's http2 implementation doing reference-counting without counting: https://pkg.go.dev/golang.org/x/net/http2#Framer.ReadFrame\nMy old programming language, ooc: https://ooc-lang.org\nThe itch.io desktop app: https://itch.io/app\nI want off Mr Golang's wild ride: https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride\nAiming for correctness with types: https://fasterthanli.me/articles/aiming-for-correctness-with-types\nLies we tell ourselves to keep using Golang: https://fasterthanli.me/articles/lies-we-tell-ourselves-to-keep-using-golang\nproc macros as WASM blobs: https://crates.io/crates/watt\nrustdoc JSON output: https://doc.rust-lang.org/rustdoc/unstable-features.html#json-output\nBootstrapping the Rust compiler: https://rustc-dev-guide.rust-lang.org/building/bootstrapping/what-bootstrapping-does.html\nrustdoc serde-ish types: https://crates.io/crates/rustdoc-types\nlint your crate API changes for semver violations: https://crates.io/crates/cargo-semver-checks\ngit hooks for Rust projects: https://crates.io/crates/cargo-husky\ncargo build scripts: https://doc.rust-lang.org/cargo/reference/build-scripts.html\n\nThis video was sponsored by Brilliant.", "I ported h2spec to Rust (also: codegen!)", "eEtawNgwSC8", 969, false, "https://www.youtube.com/watch?v=eEtawNgwSC8", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e061000_I ported h2spec to Rust (also: codegen!).mp4", false, 29, ~U[2024-06-10 20:30:07Z]] 08:11:01.799 [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" = ?) [29] 08:11:01.799 [debug] QUERY OK source="media_profiles" db=0.1ms idle=17.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:11:01.799 [debug] QUERY OK source="media_items" db=0.2ms idle=17.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 [360924] 08:11:01.800 [debug] Current batch of media processed. Will check again in 1000ms 08:11:02.801 [debug] Current batch of media processed. Will check again in 1000ms 08:11:03.803 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nThanks a lot to Tris from @NoBoilerplate for last-minute voice-over work!\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\n(Reference continue below)\n\nContents\n\n00:00 Sponsor disclaimer\n00:04 Intro\n01:53 Part 1: The Miracle of DSL\n03:05 Part 2: The Loopback Network Interface\n05:14 Part 3: IPv6\n08:20 And now a message from our sponsor\n09:55 Part 3 Episode 2: IPv6 (again)\n11:03 Part 4: IPv4\n12:32 Part 5: DHCP\n14:28 Part 6: NAT\n19:02 Part 7: Carrier-Grade NAT\n20:18 Thanks\n\nReferences\n\nHome Page Documentary Trailer Directed by Doug Block (Passion River Films): https://www.youtube.com/watch?v=o_RkSg4opPM\n\nasdfmovie4 (TomSka): https://www.youtube.com/watch?v=cYNdUM2gRsg\n\nHow the Internet works: Submarine fiber, brains in jars, and coaxial cables (Bob Dormon for Ars Technica UK) https://arstechnica.com/information-technology/2016/05/how-the-internet-works-submarine-cables-data-centres-last-mile\n\nWindows 95 Dial-Up in 2024 (NostalgiaWindows) https://www.youtube.com/watch?v=RvuyiUw2DJw\n\nUnderstanding how Facebook disappeared from the Internet (Cloudflare blog) https://blog.cloudflare.com/october-2021-facebook-outage/\n\nARPANET & Logical map of it: https://en.wikipedia.org/wiki/ARPANET\n\nZOOM 56k External Serial Modem Overview and Demo (dosdude1) https://www.youtube.com/watch?v=X1LKAp71XUA\n\nHow Broadband ADSL Works (Computerphile) https://www.youtube.com/watch?v=uwtGfyna62I\n\nHampster Dance: https://en.wikipedia.org/wiki/Hampster_Dance\n\nWeb Design Museum: Old versions of YouTube https://www.webdesignmuseum.org/gallery/youtube-2008\n\nIevan Polka: https://en.wikipedia.org/wiki/Ievan_polkka\n\nTrippy: traceroute & ping tool in Rust https://github.com/fujiapple852/trippy\n\nGeoipsed: Fast, inline geolocation decoration of IPv4 and IPv6 addresses written in Rust https://github.com/erichutchins/geoipsed\n\nSDV's BGP map graph tool: http://bgpmap.sdv.fr/\n\nNautilus: A Framework for Cross-Layer Cartography of Submarine Cables and IP Links https://dl.acm.org/doi/abs/10.1145/3626777\n\nWireshark: GUI packet sniffer https://www.wireshark.org/\n\nDominique https://en.wikipedia.org/wiki/Dominique", "duration" => 1280, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e030900_POV: I'm on my third coffee and you just asked me how the internet works.mp4", "id" => "jjKFXlFNR4E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jjKFXlFNR4E", "playlist_index" => 15, "timestamp" => 1709974669, "title" => "POV: I'm on my third coffee and you just asked me how the internet works", "upload_date" => "20240309"} 08:11:03.803 [debug] QUERY OK source="sources" db=0.2ms idle=646.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:11:03.804 [debug] QUERY OK source="sources" db=0.1ms idle=646.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:11:03.804 [debug] QUERY OK source="media_items" db=0.3ms idle=647.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-03-09 08:57:49Z], 29] 08:11:03.807 [debug] QUERY OK source="media_items" db=2.2ms idle=647.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nThanks a lot to Tris from @NoBoilerplate for last-minute voice-over work!\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\n(Reference continue below)\n\nContents\n\n00:00 Sponsor disclaimer\n00:04 Intro\n01:53 Part 1: The Miracle of DSL\n03:05 Part 2: The Loopback Network Interface\n05:14 Part 3: IPv6\n08:20 And now a message from our sponsor\n09:55 Part 3 Episode 2: IPv6 (again)\n11:03 Part 4: IPv4\n12:32 Part 5: DHCP\n14:28 Part 6: NAT\n19:02 Part 7: Carrier-Grade NAT\n20:18 Thanks\n\nReferences\n\nHome Page Documentary Trailer Directed by Doug Block (Passion River Films): https://www.youtube.com/watch?v=o_RkSg4opPM\n\nasdfmovie4 (TomSka): https://www.youtube.com/watch?v=cYNdUM2gRsg\n\nHow the Internet works: Submarine fiber, brains in jars, and coaxial cables (Bob Dormon for Ars Technica UK) https://arstechnica.com/information-technology/2016/05/how-the-internet-works-submarine-cables-data-centres-last-mile\n\nWindows 95 Dial-Up in 2024 (NostalgiaWindows) https://www.youtube.com/watch?v=RvuyiUw2DJw\n\nUnderstanding how Facebook disappeared from the Internet (Cloudflare blog) https://blog.cloudflare.com/october-2021-facebook-outage/\n\nARPANET & Logical map of it: https://en.wikipedia.org/wiki/ARPANET\n\nZOOM 56k External Serial Modem Overview and Demo (dosdude1) https://www.youtube.com/watch?v=X1LKAp71XUA\n\nHow Broadband ADSL Works (Computerphile) https://www.youtube.com/watch?v=uwtGfyna62I\n\nHampster Dance: https://en.wikipedia.org/wiki/Hampster_Dance\n\nWeb Design Museum: Old versions of YouTube https://www.webdesignmuseum.org/gallery/youtube-2008\n\nIevan Polka: https://en.wikipedia.org/wiki/Ievan_polkka\n\nTrippy: traceroute & ping tool in Rust https://github.com/fujiapple852/trippy\n\nGeoipsed: Fast, inline geolocation decoration of IPv4 and IPv6 addresses written in Rust https://github.com/erichutchins/geoipsed\n\nSDV's BGP map graph tool: http://bgpmap.sdv.fr/\n\nNautilus: A Framework for Cross-Layer Cartography of Submarine Cables and IP Links https://dl.acm.org/doi/abs/10.1145/3626777\n\nWireshark: GUI packet sniffer https://www.wireshark.org/\n\nDominique https://en.wikipedia.org/wiki/Dominique", "POV: I'm on my third coffee and you just asked me how the internet works", "9df7445e-5491-4317-9cd4-3bc2979ffa0e", "jjKFXlFNR4E", 1280, false, "https://www.youtube.com/watch?v=jjKFXlFNR4E", 15, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e030900_POV: I'm on my third coffee and you just asked me how the internet works.mp4", false, false, false, 29, [], 98, ~U[2024-03-09 08:57:49Z], ~U[2026-06-29 13:11:03Z], ~U[2026-06-29 13:11:03Z], "To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nThanks a lot to Tris from @NoBoilerplate for last-minute voice-over work!\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\n(Reference continue below)\n\nContents\n\n00:00 Sponsor disclaimer\n00:04 Intro\n01:53 Part 1: The Miracle of DSL\n03:05 Part 2: The Loopback Network Interface\n05:14 Part 3: IPv6\n08:20 And now a message from our sponsor\n09:55 Part 3 Episode 2: IPv6 (again)\n11:03 Part 4: IPv4\n12:32 Part 5: DHCP\n14:28 Part 6: NAT\n19:02 Part 7: Carrier-Grade NAT\n20:18 Thanks\n\nReferences\n\nHome Page Documentary Trailer Directed by Doug Block (Passion River Films): https://www.youtube.com/watch?v=o_RkSg4opPM\n\nasdfmovie4 (TomSka): https://www.youtube.com/watch?v=cYNdUM2gRsg\n\nHow the Internet works: Submarine fiber, brains in jars, and coaxial cables (Bob Dormon for Ars Technica UK) https://arstechnica.com/information-technology/2016/05/how-the-internet-works-submarine-cables-data-centres-last-mile\n\nWindows 95 Dial-Up in 2024 (NostalgiaWindows) https://www.youtube.com/watch?v=RvuyiUw2DJw\n\nUnderstanding how Facebook disappeared from the Internet (Cloudflare blog) https://blog.cloudflare.com/october-2021-facebook-outage/\n\nARPANET & Logical map of it: https://en.wikipedia.org/wiki/ARPANET\n\nZOOM 56k External Serial Modem Overview and Demo (dosdude1) https://www.youtube.com/watch?v=X1LKAp71XUA\n\nHow Broadband ADSL Works (Computerphile) https://www.youtube.com/watch?v=uwtGfyna62I\n\nHampster Dance: https://en.wikipedia.org/wiki/Hampster_Dance\n\nWeb Design Museum: Old versions of YouTube https://www.webdesignmuseum.org/gallery/youtube-2008\n\nIevan Polka: https://en.wikipedia.org/wiki/Ievan_polkka\n\nTrippy: traceroute & ping tool in Rust https://github.com/fujiapple852/trippy\n\nGeoipsed: Fast, inline geolocation decoration of IPv4 and IPv6 addresses written in Rust https://github.com/erichutchins/geoipsed\n\nSDV's BGP map graph tool: http://bgpmap.sdv.fr/\n\nNautilus: A Framework for Cross-Layer Cartography of Submarine Cables and IP Links https://dl.acm.org/doi/abs/10.1145/3626777\n\nWireshark: GUI packet sniffer https://www.wireshark.org/\n\nDominique https://en.wikipedia.org/wiki/Dominique", "POV: I'm on my third coffee and you just asked me how the internet works", "jjKFXlFNR4E", 1280, false, "https://www.youtube.com/watch?v=jjKFXlFNR4E", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e030900_POV: I'm on my third coffee and you just asked me how the internet works.mp4", false, 29, ~U[2024-03-09 08:57:49Z]] 08:11:03.807 [debug] QUERY OK source="sources" db=0.1ms idle=167.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:11:03.807 [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] 08:11:03.808 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [360925] 08:11:03.808 [debug] Current batch of media processed. Will check again in 1000ms 08:11:04.809 [debug] Current batch of media processed. Will check again in 1000ms 08:11:05.640 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCs4fQRyl1TJvoeOdekW6lYA --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/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:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/12/86/1286ff1a0e4b9f55bb45da8f1a4163366fda9ddd3122cad2a3ad60663be983e3.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/29/b729d8a15e57edf7f45db12363803117480198267ed02d3d913102092462e768.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 08:11:05.640 [debug] Gracefully stopping file follower 08:11:05.641 [debug] QUERY OK source="sources" db=0.2ms idle=1000.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 08:11:05.641 [debug] QUERY OK source="sources" db=0.2ms idle=484.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:11:05.642 [debug] QUERY OK source="media_items" db=0.2ms idle=484.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-13 19:30:03Z], 29] 08:11:05.643 [debug] QUERY OK source="media_items" db=0.6ms idle=485.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 40% off the book with promo code TRPL40 until June 13!\n\nIn this video, we learn about Carol's favorite crate, And a lot about the process of writing, editing, and publishing the Rust programming language third edition, the definitive\u00A0book on the Rust programming language.\n\nhttps://nostarch.com/rust-programming-language-3e\n\nThanks to Carol & Chris for being such good sports, thanks to Emma from No Starch for setting this up.\n\nFollow Chris: https://v5.chriskrycho.com/index.html\nFollow Carol: https://carol-nichols.com/\nCarol's company, Integer 32: https://integer32.com/\nFind more of my stuff on: https://fasterthanli.me\n\nThanks for watching!", "Carol & Chris chat about The Rust Book (3rd edition)", "31a703d9-47bb-4b69-88b1-5acc7970a854", "IrAg4mbCVPU", 696, false, "https://www.youtube.com/watch?v=IrAg4mbCVPU", 1, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e051300_Carol & Chris chat about The Rust Book (3rd edition).mp4", false, false, false, 29, [], 98, ~U[2026-05-13 19:30:03Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "Get 40% off the book with promo code TRPL40 until June 13!\n\nIn this video, we learn about Carol's favorite crate, And a lot about the process of writing, editing, and publishing the Rust programming language third edition, the definitive\u00A0book on the Rust programming language.\n\nhttps://nostarch.com/rust-programming-language-3e\n\nThanks to Carol & Chris for being such good sports, thanks to Emma from No Starch for setting this up.\n\nFollow Chris: https://v5.chriskrycho.com/index.html\nFollow Carol: https://carol-nichols.com/\nCarol's company, Integer 32: https://integer32.com/\nFind more of my stuff on: https://fasterthanli.me\n\nThanks for watching!", "Carol & Chris chat about The Rust Book (3rd edition)", "IrAg4mbCVPU", 696, false, "https://www.youtube.com/watch?v=IrAg4mbCVPU", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e051300_Carol & Chris chat about The Rust Book (3rd edition).mp4", false, 29, ~U[2026-05-13 19:30:03Z]] 08:11:05.643 [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" = ?) [29] 08:11:05.643 [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-21 21:00:06Z], 29] 08:11:05.644 [debug] QUERY OK source="media_items" db=0.7ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I love https://zed.dev/ and I love https://rust-analyzer.github.io/ but up until recently, configuring the latter for the former was... annoying. Luckily cookies solved everything.\n\nThanks to Benedikt for agreeing to appear on this video!\n\n✨ Credits\n\nVideo Editor\nVlad Korovin\n\nEverything Else\nAmos Wenger\n\nSponsor me on GitHub: https://github.com/sponsors/fasterthanlime\nOr on Patreon: https://www.patreon.com/fasterthanlime\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nOr Bluesky: https://bsky.app/profile/fasterthanli.me\n\nCheck out Self-Directed Research, my podcast co-hosted with James and produced with Amanda: https://sdr-podcast.com/", "I bought us a Zed feature with cookies", "9d735f6b-19dc-42eb-b042-2227cd44ed43", "fCgNa-WwymY", 498, false, "https://www.youtube.com/watch?v=fCgNa-WwymY", 2, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e012100_I bought us a Zed feature with cookies.mp4", false, false, false, 29, [], 98, ~U[2026-01-21 21:00:06Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "I love https://zed.dev/ and I love https://rust-analyzer.github.io/ but up until recently, configuring the latter for the former was... annoying. Luckily cookies solved everything.\n\nThanks to Benedikt for agreeing to appear on this video!\n\n✨ Credits\n\nVideo Editor\nVlad Korovin\n\nEverything Else\nAmos Wenger\n\nSponsor me on GitHub: https://github.com/sponsors/fasterthanlime\nOr on Patreon: https://www.patreon.com/fasterthanlime\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nOr Bluesky: https://bsky.app/profile/fasterthanli.me\n\nCheck out Self-Directed Research, my podcast co-hosted with James and produced with Amanda: https://sdr-podcast.com/", "I bought us a Zed feature with cookies", "fCgNa-WwymY", 498, false, "https://www.youtube.com/watch?v=fCgNa-WwymY", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e012100_I bought us a Zed feature with cookies.mp4", false, 29, ~U[2026-01-21 21:00:06Z]] 08:11:05.644 [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" = ?) [29] 08:11:05.645 [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-12-31 22:00:06Z], 29] 08:11:05.646 [debug] QUERY OK source="media_items" db=0.8ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Father forgive me for I have made SO MANY CODEBASES and now I need to tend to them all.\n\nHappy new year in advance, wherever you watch this.\n\nSponsor me on GitHub: https://github.com/sponsors/fasterthanlime\nOr on Patreon: https://www.patreon.com/fasterthanlime\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nOr Bluesky: https://bsky.app/profile/fasterthanli.me\n\nCheck out Self-Directed Research, my podcast co-hosted with James and produced with Amanda: https://sdr-podcast.com/\n\n🗒️ References\n\n2025 Recap article — https://fasterthanli.me/articles/2025-recap \uFFFC\nfacet (project homepage) — https://facet.rs/ \uFFFC\nfacet (GitHub repo) — https://github.com/facet-rs/facet \uFFFC\nfacet perf tracker / benchmarks — https://perf.facet.rs/ \uFFFC\nfacet KDL showcase — https://facet.rs/guide/showcases/kdl/ \uFFFC\nfacet format-crate matrix — https://facet.rs/reference/format-crate-matrix/ \uFFFC\nmerde (deprecated; “please use facet instead”) — https://github.com/bearcove/merde \uFFFC\ndodeca (used for facet.rs docs) — https://dodeca.bearcove.eu/ \uFFFC\npicante (async incremental queries, salsa-style) — https://picante.bearcove.eu/ \uFFFC\npikru (Pikchr C vs Rust comparison / project page) — https://pikru.bearcove.eu/ \uFFFC\naasvg-rs (Rust port of aasvg) — https://github.com/bearcove/aasvg-rs \uFFFC\nrapace (RPC/IPC over shared memory; docs) — https://rapace.bearcove.eu/ \uFFFC\nfs-kitty (FSKit bridge “via rapace”) — https://github.com/bearcove/fs-kitty \uFFFC\ntracey (mentioned via source link in the article) — https://github.com/bearcove/tracey \uFFFC\nvixen — https://github.com/bearcove/vixen \uFFFC\nwoofwoof (WOFF2 build, packaged) — https://lib.rs/crates/woofwoof \uFFFC\nfontcull (font subsetting tool) — https://lib.rs/crates/fontcull \uFFFC\n\n✨ Contents\n\n00:10 facet\n09:25 arborium\n10:43 dodeca\n12:42 rapace\n14:59 tracey\n16:24 picante\n19:57 pikru and aasvg-rs\n23:53 fs-kitty\n26:20 vixen\n32:05 outro", "2025 Recap: so many projects", "3cef7cac-50c6-4eef-8bdf-c094795e668b", "5Rj0Nxk6w08", 2030, false, "https://www.youtube.com/watch?v=5Rj0Nxk6w08", 3, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e123100_2025 Recap: so many projects.mp4", false, false, false, 29, [], 98, ~U[2025-12-31 22:00:06Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "Father forgive me for I have made SO MANY CODEBASES and now I need to tend to them all.\n\nHappy new year in advance, wherever you watch this.\n\nSponsor me on GitHub: https://github.com/sponsors/fasterthanlime\nOr on Patreon: https://www.patreon.com/fasterthanlime\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nOr Bluesky: https://bsky.app/profile/fasterthanli.me\n\nCheck out Self-Directed Research, my podcast co-hosted with James and produced with Amanda: https://sdr-podcast.com/\n\n🗒️ References\n\n2025 Recap article — https://fasterthanli.me/articles/2025-recap \uFFFC\nfacet (project homepage) — https://facet.rs/ \uFFFC\nfacet (GitHub repo) — https://github.com/facet-rs/facet \uFFFC\nfacet perf tracker / benchmarks — https://perf.facet.rs/ \uFFFC\nfacet KDL showcase — https://facet.rs/guide/showcases/kdl/ \uFFFC\nfacet format-crate matrix — https://facet.rs/reference/format-crate-matrix/ \uFFFC\nmerde (deprecated; “please use facet instead”) — https://github.com/bearcove/merde \uFFFC\ndodeca (used for facet.rs docs) — https://dodeca.bearcove.eu/ \uFFFC\npicante (async incremental queries, salsa-style) — https://picante.bearcove.eu/ \uFFFC\npikru (Pikchr C vs Rust comparison / project page) — https://pikru.bearcove.eu/ \uFFFC\naasvg-rs (Rust port of aasvg) — https://github.com/bearcove/aasvg-rs \uFFFC\nrapace (RPC/IPC over shared memory; docs) — https://rapace.bearcove.eu/ \uFFFC\nfs-kitty (FSKit bridge “via rapace”) — https://github.com/bearcove/fs-kitty \uFFFC\ntracey (mentioned via source link in the article) — https://github.com/bearcove/tracey \uFFFC\nvixen — https://github.com/bearcove/vixen \uFFFC\nwoofwoof (WOFF2 build, packaged) — https://lib.rs/crates/woofwoof \uFFFC\nfontcull (font subsetting tool) — https://lib.rs/crates/fontcull \uFFFC\n\n✨ Contents\n\n00:10 facet\n09:25 arborium\n10:43 dodeca\n12:42 rapace\n14:59 tracey\n16:24 picante\n19:57 pikru and aasvg-rs\n23:53 fs-kitty\n26:20 vixen\n32:05 outro", "2025 Recap: so many projects", "5Rj0Nxk6w08", 2030, false, "https://www.youtube.com/watch?v=5Rj0Nxk6w08", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e123100_2025 Recap: so many projects.mp4", false, 29, ~U[2025-12-31 22:00:06Z]] 08:11:05.646 [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" = ?) [29] 08:11:05.647 [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-22 18:30:06Z], 29] 08:11:05.648 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start learning cyber security with TryHackMe: https://tryhackme.com/ftl-nov Use my code \"FTL25\" to get 25% off on annual subscription.\n\nArticle version: https://fasterthanli.me/articles/does-dioxus-spark-joy\n\nGood evening. Tonight I'll attempt to answer the question: Does Dioxus spark joy?\n\nAfter moulte délibérations... it's complicated.\n\nThis video was adapted from a talk I gave at the Rust Paris Meetup in October 2025. \n\nThis video was sponsored by TryHackMe\n\nCheck out Dioxus: https://dioxuslabs.com/\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n✨ Credits\n\nVideo Editor\nVlad Korovin — @vl_koro \n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "Does Dioxus spark joy?", "c02215b6-b702-40f0-9af0-7585e8320f20", "s633wfOrmuU", 645, false, "https://www.youtube.com/watch?v=s633wfOrmuU", 4, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e112200_Does Dioxus spark joy?.mp4", false, false, false, 29, [], 98, ~U[2025-11-22 18:30:06Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "Start learning cyber security with TryHackMe: https://tryhackme.com/ftl-nov Use my code \"FTL25\" to get 25% off on annual subscription.\n\nArticle version: https://fasterthanli.me/articles/does-dioxus-spark-joy\n\nGood evening. Tonight I'll attempt to answer the question: Does Dioxus spark joy?\n\nAfter moulte délibérations... it's complicated.\n\nThis video was adapted from a talk I gave at the Rust Paris Meetup in October 2025. \n\nThis video was sponsored by TryHackMe\n\nCheck out Dioxus: https://dioxuslabs.com/\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n✨ Credits\n\nVideo Editor\nVlad Korovin — @vl_koro \n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "Does Dioxus spark joy?", "s633wfOrmuU", 645, false, "https://www.youtube.com/watch?v=s633wfOrmuU", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e112200_Does Dioxus spark joy?.mp4", false, 29, ~U[2025-11-22 18:30:06Z]] 08:11:05.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" = ?) [29] 08:11:05.648 [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-11-01 12:07:40Z], 29] 08:11:05.649 [debug] QUERY OK source="media_items" db=0.5ms idle=2.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Article version: https://fasterthanli.me/articles/engineering-a-rust-optimization-quiz\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\nCheck out Rustlab IT: https://rustlab.it/\n\n✨ Credits\n\nVideo Editor\nVlad Korovin — @vl_koro \n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "Engineering a Rust optimization quiz", "4d239682-c90a-46c8-82f8-d8308ade2050", "KmZz-sZPTTo", 798, false, "https://www.youtube.com/watch?v=KmZz-sZPTTo", 5, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e110100_Engineering a Rust optimization quiz.mp4", false, false, false, 29, [], 98, ~U[2025-11-01 12:07:40Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "Article version: https://fasterthanli.me/articles/engineering-a-rust-optimization-quiz\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\nCheck out Rustlab IT: https://rustlab.it/\n\n✨ Credits\n\nVideo Editor\nVlad Korovin — @vl_koro \n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "Engineering a Rust optimization quiz", "KmZz-sZPTTo", 798, false, "https://www.youtube.com/watch?v=KmZz-sZPTTo", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e110100_Engineering a Rust optimization quiz.mp4", false, 29, ~U[2025-11-01 12:07:40Z]] 08:11:05.649 [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" = ?) [29] 08:11:05.649 [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-08-22 20:30:06Z], 29] 08:11:05.650 [debug] QUERY OK source="media_items" db=0.6ms idle=1.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get 25% off your first Curiosity Box now! — https://www.curiositybox.com/FasterThanLime\n\nThis video was sponsored by Curiosity Box.\n\nArticle version: https://fasterthanli.me/articles/the-science-of-loudness\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Intro\n00:50 What even is sound?\n02:00 dB SPL\n02:55 dB FS\n03:44 Distortion and clipping\n04:19 Quasi-PPMs\n04:52 VU meters\n05:24 Sample Peak\n05:58 True Peak / Intersample overs\n06:19 Sponsored segment\n07:18 Compression\n08:01 LKFS\n09:18 Normalization / DRC\n09:57 Equal-loudness contour graphs\n\n✨ Credits\n\nVideo Editor\nSekun Ho\n\nEverything elseist\nAmos Wenger", "The science of loudness", "510c810c-c1a1-45b2-bf1f-d942d6910e15", "98NB0BcaZTI", 686, false, "https://www.youtube.com/watch?v=98NB0BcaZTI", 6, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e082200_The science of loudness.mp4", false, false, false, 29, [], 98, ~U[2025-08-22 20:30:06Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "Get 25% off your first Curiosity Box now! — https://www.curiositybox.com/FasterThanLime\n\nThis video was sponsored by Curiosity Box.\n\nArticle version: https://fasterthanli.me/articles/the-science-of-loudness\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Intro\n00:50 What even is sound?\n02:00 dB SPL\n02:55 dB FS\n03:44 Distortion and clipping\n04:19 Quasi-PPMs\n04:52 VU meters\n05:24 Sample Peak\n05:58 True Peak / Intersample overs\n06:19 Sponsored segment\n07:18 Compression\n08:01 LKFS\n09:18 Normalization / DRC\n09:57 Equal-loudness contour graphs\n\n✨ Credits\n\nVideo Editor\nSekun Ho\n\nEverything elseist\nAmos Wenger", "The science of loudness", "98NB0BcaZTI", 686, false, "https://www.youtube.com/watch?v=98NB0BcaZTI", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e082200_The science of loudness.mp4", false, 29, ~U[2025-08-22 20:30:06Z]] 08:11:05.651 [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" = ?) [29] 08:11:05.651 [debug] QUERY OK source="media_items" db=0.1ms 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-06-27 21:00:06Z], 29] 08:11:05.652 [debug] QUERY OK source="media_items" db=0.8ms idle=1.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/ . You’ll also get 20% off an annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/all-color-is-best-effort\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 The mystery\n01:15 Sponsored segment\n02:40 No really, what is this\n03:41 Playing with color spaces\n04:55 CIE Chromaticity diagrams\n07:16 Our first transfer function\n08:55 Parade scope\n10:05 More transfer functions\n15:25 How white is your white?\n17:47 Conclusion\n18:49 Credits\n\n🔗 Links\n\nWanna see a whiter white? https://kidi.ng/wanna-see-a-whiter-white/\n\n✨ Credits\n\nVoice of Cool Bear\nTristram Oaten — @NoBoilerplate\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "All color is best-effort", "b2aacf66-9642-4e02-ad4b-60c6ce886e15", "OzCbdsVVnKI", 1156, false, "https://www.youtube.com/watch?v=OzCbdsVVnKI", 7, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e062700_All color is best-effort.mp4", false, false, false, 29, [], 98, ~U[2025-06-27 21:00:06Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/ . You’ll also get 20% off an annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/all-color-is-best-effort\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 The mystery\n01:15 Sponsored segment\n02:40 No really, what is this\n03:41 Playing with color spaces\n04:55 CIE Chromaticity diagrams\n07:16 Our first transfer function\n08:55 Parade scope\n10:05 More transfer functions\n15:25 How white is your white?\n17:47 Conclusion\n18:49 Credits\n\n🔗 Links\n\nWanna see a whiter white? https://kidi.ng/wanna-see-a-whiter-white/\n\n✨ Credits\n\nVoice of Cool Bear\nTristram Oaten — @NoBoilerplate\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "All color is best-effort", "OzCbdsVVnKI", 1156, false, "https://www.youtube.com/watch?v=OzCbdsVVnKI", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e062700_All color is best-effort.mp4", false, 29, ~U[2025-06-27 21:00:06Z]] 08:11:05.652 [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" = ?) [29] 08:11:05.652 [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-05 19:08:21Z], 29] 08:11:05.654 [debug] QUERY OK source="media_items" db=0.8ms idle=1.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Learn cybersecurity by doing over 900 hands-on labs, and over 400 security challenges regardless of experience level! Use https://tryhackme.com/why-subscribe?utm_source=youtube&utm_medium=social&utm_campaign=fasterthanlime_ai, or discount code LIME20 for 20% off.\n\nArticle version: https://fasterthanli.me/articles/introducing-facet-reflection-for-rust\n\nThis video was sponsored by TryHackMe.\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Let they who are without syn…\n03:18 Monomorphization\n05:16 A different strategy\n10:03 Today, tomorrow\n10:44 Sponsored segment\n11:58 Today, tomorrow (cont.)\n18:27 Credits\n\n🔗 Links in video\n\n- Why is my Rust build so slow https://fasterthanli.me/articles/why-is-my-rust-build-so-slow\n- Building a Rust service with Nix https://fasterthanli.me/series/building-a-rust-service-with-nix\n- facet https://github.com/facet-rs/facet\n- dylo https://github.com/bearcove/dylo\n- rubicon https://github.com/bearcove/rubicon\n- home https://github.com/bearcove/home\n- Relink, don't rebuild https://github.com/rust-lang/compiler-team/issues/790\n\n✨ Credits\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "Introducing facet: Reflection for Rust", "7a5aa787-1960-4380-a199-e2a33aaaf6a9", "0mqFCqw_XvI", 1132, false, "https://www.youtube.com/watch?v=0mqFCqw_XvI", 8, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e060500_Introducing facet: Reflection for Rust.mp4", false, false, false, 29, [], 98, ~U[2025-06-05 19:08:21Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "Learn cybersecurity by doing over 900 hands-on labs, and over 400 security challenges regardless of experience level! Use https://tryhackme.com/why-subscribe?utm_source=youtube&utm_medium=social&utm_campaign=fasterthanlime_ai, or discount code LIME20 for 20% off.\n\nArticle version: https://fasterthanli.me/articles/introducing-facet-reflection-for-rust\n\nThis video was sponsored by TryHackMe.\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Let they who are without syn…\n03:18 Monomorphization\n05:16 A different strategy\n10:03 Today, tomorrow\n10:44 Sponsored segment\n11:58 Today, tomorrow (cont.)\n18:27 Credits\n\n🔗 Links in video\n\n- Why is my Rust build so slow https://fasterthanli.me/articles/why-is-my-rust-build-so-slow\n- Building a Rust service with Nix https://fasterthanli.me/series/building-a-rust-service-with-nix\n- facet https://github.com/facet-rs/facet\n- dylo https://github.com/bearcove/dylo\n- rubicon https://github.com/bearcove/rubicon\n- home https://github.com/bearcove/home\n- Relink, don't rebuild https://github.com/rust-lang/compiler-team/issues/790\n\n✨ Credits\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "Introducing facet: Reflection for Rust", "0mqFCqw_XvI", 1132, false, "https://www.youtube.com/watch?v=0mqFCqw_XvI", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e060500_Introducing facet: Reflection for Rust.mp4", false, 29, ~U[2025-06-05 19:08:21Z]] 08:11:05.654 [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" = ?) [29] 08:11:05.654 [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-29 17:40:06Z], 29] 08:11:05.655 [debug] QUERY OK source="media_items" db=0.8ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/ . You’ll also get 20% off an annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/the-virtue-of-unsynn\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Addressing the rumors\n01:12 Sponsored segment\n02:48 Build times\n03:27 Comparing apples and nuclear submarines\n04:37 Macro expansion\n06:05 Build times, again\n07:21 Enter unsynn\n10:49 Warm builds\n12:53 Putting things into perspective\n14:44 Tooling\n15:23 Credits\n\n✨ Credits\n\nVoice of Cool Bear\nTristram Oaten — @NoBoilerplate\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "The virtue of unsynn", "1000c539-ff15-4222-984d-219a42707b98", "YtbUzIQw-so", 947, false, "https://www.youtube.com/watch?v=YtbUzIQw-so", 9, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e052900_The virtue of unsynn.mp4", false, false, false, 29, [], 98, ~U[2025-05-29 17:40:06Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/ . You’ll also get 20% off an annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/the-virtue-of-unsynn\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Addressing the rumors\n01:12 Sponsored segment\n02:48 Build times\n03:27 Comparing apples and nuclear submarines\n04:37 Macro expansion\n06:05 Build times, again\n07:21 Enter unsynn\n10:49 Warm builds\n12:53 Putting things into perspective\n14:44 Tooling\n15:23 Credits\n\n✨ Credits\n\nVoice of Cool Bear\nTristram Oaten — @NoBoilerplate\n\nVideo Editor\nSekun Ho — https://sekun.net/\n\nThumbnail Artist\nReimena Yee — https://reimenayee.com/\n\nEverything elseist\nAmos Wenger — https://fasterthanli.me/", "The virtue of unsynn", "YtbUzIQw-so", 947, false, "https://www.youtube.com/watch?v=YtbUzIQw-so", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e052900_The virtue of unsynn.mp4", false, 29, ~U[2025-05-29 17:40:06Z]] 08:11:05.656 [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" = ?) [29] 08:11:05.656 [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-04-16 20:30:06Z], 29] 08:11:05.657 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get paid to make open-source software more memory-safe: https://bughunters.google.com/open-source-security/patch-rewards\n\nThis video was sponsored by Google Security.\n\nArticle version: https://fasterthanli.me/articles/the-promise-of-rust\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Rust move semantics\n02:34 JavaScript semantics\n04:13 Go semantics\n05:40 Deep cloning\n07:58 Constness in C and C++\n09:39 Linear types\n11:21 Sponsored segment\n13:20 Immutability in Rust\n14:38 Unsafe Rust\n20:15 Aliasing XOR mutability\n28:18 Credits\n\n✨ Credits\n\nPatch Rewards Program Campaign Design & Coordination\nStink Studios — https://www.stinkstudios.com/\n\nEverything else, I suppose\nAmos Wenger — https://fasterthanli.me/", "The promise of Rust", "705e6968-2534-497f-a014-a37a5fa65db7", "zo6yZisg7N0", 1745, false, "https://www.youtube.com/watch?v=zo6yZisg7N0", 10, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e041600_The promise of Rust.mp4", false, false, false, 29, [], 98, ~U[2025-04-16 20:30:06Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "Get paid to make open-source software more memory-safe: https://bughunters.google.com/open-source-security/patch-rewards\n\nThis video was sponsored by Google Security.\n\nArticle version: https://fasterthanli.me/articles/the-promise-of-rust\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Ko-fi, Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 Rust move semantics\n02:34 JavaScript semantics\n04:13 Go semantics\n05:40 Deep cloning\n07:58 Constness in C and C++\n09:39 Linear types\n11:21 Sponsored segment\n13:20 Immutability in Rust\n14:38 Unsafe Rust\n20:15 Aliasing XOR mutability\n28:18 Credits\n\n✨ Credits\n\nPatch Rewards Program Campaign Design & Coordination\nStink Studios — https://www.stinkstudios.com/\n\nEverything else, I suppose\nAmos Wenger — https://fasterthanli.me/", "The promise of Rust", "zo6yZisg7N0", 1745, false, "https://www.youtube.com/watch?v=zo6yZisg7N0", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e041600_The promise of Rust.mp4", false, 29, ~U[2025-04-16 20:30:06Z]] 08:11:05.657 [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" = ?) [29] 08:11:05.658 [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-02-07 19:58:06Z], 29] 08:11:05.659 [debug] QUERY OK source="media_items" db=0.8ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get paid to make open-source software more memory-safe: https://bughunters.google.com/open-source-security/patch-rewards\n\nThis video was sponsored by Google Security.\n\nArticle version: https://fasterthanli.me/articles/the-case-for-sans-io\nExtras are available at https://fasterthanli.me/extras\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\nrc-zip: https://github.com/bearcove/rc-zip\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 You can read this... for a price\n00:17 Introduction\n01:09 Character encoding differences\n03:33 Platform differences\n05:42 The end of central directory record\n07:15 Boundary confusion\n08:21 Sponsored segment (get paid for memory safety!)\n09:50 Boundary confusion (encore)\n11:17 Not doing any I/O at all\n13:22 The structure of rc-zip\n15:12 Bringing io_uring into it\n18:50 Plugging rc-zip into monoio\n22:44 Closing words\n\n✨ Credits\n\nAdditional Photography, rc-zip logo\nMichalina Ślemp — https://misiasart.com/\n\nThumbnail Art\nReimena Yee — https://reimenayee.com/\n\nOutro Mixing Engineer\nSylvain Wenger — https://www.bigsylvain.com/\n\nPatch Rewards Program Campaign Design & Coordination\nStink Studios — https://www.stinkstudios.com/\n\nEverything else, I suppose\nAmos Wenger — https://fasterthanli.me/", "The case for sans-io", "7aab4fd7-57d7-4c88-8587-db217dfa2c87", "RYHYiXMJdZI", 1449, false, "https://www.youtube.com/watch?v=RYHYiXMJdZI", 11, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e020700_The case for sans-io.mp4", false, false, false, 29, [], 98, ~U[2025-02-07 19:58:06Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "Get paid to make open-source software more memory-safe: https://bughunters.google.com/open-source-security/patch-rewards\n\nThis video was sponsored by Google Security.\n\nArticle version: https://fasterthanli.me/articles/the-case-for-sans-io\nExtras are available at https://fasterthanli.me/extras\n\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nCheck out my podcast with James, produced by Amanda: https://sdr-podcast.com\nrc-zip: https://github.com/bearcove/rc-zip\n\n📚 Contents\n\n00:00 Sponsor disclaimer\n00:02 You can read this... for a price\n00:17 Introduction\n01:09 Character encoding differences\n03:33 Platform differences\n05:42 The end of central directory record\n07:15 Boundary confusion\n08:21 Sponsored segment (get paid for memory safety!)\n09:50 Boundary confusion (encore)\n11:17 Not doing any I/O at all\n13:22 The structure of rc-zip\n15:12 Bringing io_uring into it\n18:50 Plugging rc-zip into monoio\n22:44 Closing words\n\n✨ Credits\n\nAdditional Photography, rc-zip logo\nMichalina Ślemp — https://misiasart.com/\n\nThumbnail Art\nReimena Yee — https://reimenayee.com/\n\nOutro Mixing Engineer\nSylvain Wenger — https://www.bigsylvain.com/\n\nPatch Rewards Program Campaign Design & Coordination\nStink Studios — https://www.stinkstudios.com/\n\nEverything else, I suppose\nAmos Wenger — https://fasterthanli.me/", "The case for sans-io", "RYHYiXMJdZI", 1449, false, "https://www.youtube.com/watch?v=RYHYiXMJdZI", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2025/s2025e020700_The case for sans-io.mp4", false, 29, ~U[2025-02-07 19:58:06Z]] 08:11:05.659 [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" = ?) [29] 08:11:05.660 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-25 20:30:06Z], 29] 08:11:05.661 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/catching-up-with-async-rust\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nContents\n\n00:00 Sponsor disclaimer\n00:04 Intro\n01:01 The size of locals\n02:15 Just boxing it\n03:20 Dynamic dispatch\n05:00 dyn-compatibility\n07:24 Associated types\n08:31 A refreshed Service trait\n09:03 Unnameable types\n09:51 Sponsored segment\n10:52 Lifetimes: a refresher\n11:58 Hidden captures\n13:42 Relaxing lifetime bounds\n14:24 Sendness\n16:06 Closing words\n16:38 Promoting https://sdr-podcast.com\n17:24 Outro song", "Catching up with async Rust", "83cfe12a-12ce-46d3-a45d-e73289d2fc3d", "bnmln9HtqEI", 1074, false, "https://www.youtube.com/watch?v=bnmln9HtqEI", 12, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e122500_Catching up with async Rust.mp4", false, false, false, 29, [], 98, ~U[2024-12-25 20:30:06Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nArticle version: https://fasterthanli.me/articles/catching-up-with-async-rust\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nContents\n\n00:00 Sponsor disclaimer\n00:04 Intro\n01:01 The size of locals\n02:15 Just boxing it\n03:20 Dynamic dispatch\n05:00 dyn-compatibility\n07:24 Associated types\n08:31 A refreshed Service trait\n09:03 Unnameable types\n09:51 Sponsored segment\n10:52 Lifetimes: a refresher\n11:58 Hidden captures\n13:42 Relaxing lifetime bounds\n14:24 Sendness\n16:06 Closing words\n16:38 Promoting https://sdr-podcast.com\n17:24 Outro song", "Catching up with async Rust", "bnmln9HtqEI", 1074, false, "https://www.youtube.com/watch?v=bnmln9HtqEI", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e122500_Catching up with async Rust.mp4", false, 29, ~U[2024-12-25 20:30:06Z]] 08:11:05.661 [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" = ?) [29] 08:11:05.661 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-23 19:00:06Z], 29] 08:11:05.662 [debug] QUERY OK source="media_items" db=0.5ms idle=2.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Article version: https://fasterthanli.me/articles/highlighted-code-in-slides\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nP99 conf talk: https://www.p99conf.io/session/rust-io_uring-ktls-how-fast-can-we-make-http/\n\nContents\n\n00:00 Intro\n00:47 Context\n02:30 Clipboards are fun\n07:24 Color spaces\n10:51 Closing thoughts\n11:18 Outro", "Highlighted code in slides", "380d574d-0635-4ec9-8c4a-f68df8245233", "OOO-_BCSwiU", 717, false, "https://www.youtube.com/watch?v=OOO-_BCSwiU", 13, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e112300_Highlighted code in slides.mp4", false, false, false, 29, [], 98, ~U[2024-11-23 19:00:06Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "Article version: https://fasterthanli.me/articles/highlighted-code-in-slides\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\nP99 conf talk: https://www.p99conf.io/session/rust-io_uring-ktls-how-fast-can-we-make-http/\n\nContents\n\n00:00 Intro\n00:47 Context\n02:30 Clipboards are fun\n07:24 Color spaces\n10:51 Closing thoughts\n11:18 Outro", "Highlighted code in slides", "OOO-_BCSwiU", 717, false, "https://www.youtube.com/watch?v=OOO-_BCSwiU", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e112300_Highlighted code in slides.mp4", false, 29, ~U[2024-11-23 19:00:06Z]] 08:11:05.662 [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" = ?) [29] 08:11:05.662 [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[2024-06-10 20:30:07Z], 29] 08:11:05.664 [debug] QUERY OK source="media_items" db=1.1ms idle=1.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["To try everything Brilliant has to offer—free—for a full 30 days, visit\u00A0https://brilliant.org/fasterthanlime\u00A0—\u00A0You’ll also get 20% off an annual premium subscription.\n\nEarly access: https://fasterthanli.me/videos/h2spec-to-rust\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\n(References continue below)\n\nContents\n\n00:00 Sponsor disclaimer\n00:02 Intro\n01:16 Current funding, thanks\n01:46 HTTP compliance suites\n02:51 \"..I decided to port it to Rust\"\n04:15 Don't repeat yourself\n05:02 Sponsored segment\n06:16 Codegen in Go\n07:11 Rust proc macros\n08:44 It's not that simple\n11:19 Enter rustdoc\n12:23 The whole process\n13:24 bindgen & friends\n15:17 Outro\n\nReferences\n\nfluke on GitHub: https://github.com/bearcove/fluke\n\nfly.io on GitHub: https://github.com/superfly\nShopify open source: https://shopify.github.io\n\nh2spec: https://github.com/summerwind/h2spec\nhyper: https://crates.io/crates/hyper \nThe HTTP/2 RFC: https://www.rfc-editor.org/rfc/rfc9113.html\ncargo-nextest: https://nexte.st\nHTTP request smuggling: https://portswigger.net/web-security/request-smuggling\nio_uring: https://en.wikipedia.org/wiki/Io_uring\nkTLS (in-kernel TLS): https://www.kernel.org/doc/html/latest/networking/tls.html\nProcedural Macros in the Rust Reference: https://doc.rust-lang.org/reference/procedural-macros.html\nthe fun kind of discipline: https://bdsmtest.org/\nthe nom parser combinator library: https://crates.io/crates/nom\nthe syn parser for proc macros: https://crates.io/crates/syn\nWhat could've been (Rust introspection): https://thephd.dev/i-am-no-longer-speaking-at-rustconf-2023\nmodule initialization/teardown functions for Rust (like __attribute__((constructor)) in C/C++): https://crates.io/crates/ctor\nGo's http2 implementation doing reference-counting without counting: https://pkg.go.dev/golang.org/x/net/http2#Framer.ReadFrame\nMy old programming language, ooc: https://ooc-lang.org\nThe itch.io desktop app: https://itch.io/app\nI want off Mr Golang's wild ride: https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride\nAiming for correctness with types: https://fasterthanli.me/articles/aiming-for-correctness-with-types\nLies we tell ourselves to keep using Golang: https://fasterthanli.me/articles/lies-we-tell-ourselves-to-keep-using-golang\nproc macros as WASM blobs: https://crates.io/crates/watt\nrustdoc JSON output: https://doc.rust-lang.org/rustdoc/unstable-features.html#json-output\nBootstrapping the Rust compiler: https://rustc-dev-guide.rust-lang.org/building/bootstrapping/what-bootstrapping-does.html\nrustdoc serde-ish types: https://crates.io/crates/rustdoc-types\nlint your crate API changes for semver violations: https://crates.io/crates/cargo-semver-checks\ngit hooks for Rust projects: https://crates.io/crates/cargo-husky\ncargo build scripts: https://doc.rust-lang.org/cargo/reference/build-scripts.html\n\nThis video was sponsored by Brilliant.", "I ported h2spec to Rust (also: codegen!)", "b4e0a608-7b5b-422a-b575-2553e3759195", "eEtawNgwSC8", 969, false, "https://www.youtube.com/watch?v=eEtawNgwSC8", 14, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e061000_I ported h2spec to Rust (also: codegen!).mp4", false, false, false, 29, [], 98, ~U[2024-06-10 20:30:07Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "To try everything Brilliant has to offer—free—for a full 30 days, visit\u00A0https://brilliant.org/fasterthanlime\u00A0—\u00A0You’ll also get 20% off an annual premium subscription.\n\nEarly access: https://fasterthanli.me/videos/h2spec-to-rust\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\n(References continue below)\n\nContents\n\n00:00 Sponsor disclaimer\n00:02 Intro\n01:16 Current funding, thanks\n01:46 HTTP compliance suites\n02:51 \"..I decided to port it to Rust\"\n04:15 Don't repeat yourself\n05:02 Sponsored segment\n06:16 Codegen in Go\n07:11 Rust proc macros\n08:44 It's not that simple\n11:19 Enter rustdoc\n12:23 The whole process\n13:24 bindgen & friends\n15:17 Outro\n\nReferences\n\nfluke on GitHub: https://github.com/bearcove/fluke\n\nfly.io on GitHub: https://github.com/superfly\nShopify open source: https://shopify.github.io\n\nh2spec: https://github.com/summerwind/h2spec\nhyper: https://crates.io/crates/hyper \nThe HTTP/2 RFC: https://www.rfc-editor.org/rfc/rfc9113.html\ncargo-nextest: https://nexte.st\nHTTP request smuggling: https://portswigger.net/web-security/request-smuggling\nio_uring: https://en.wikipedia.org/wiki/Io_uring\nkTLS (in-kernel TLS): https://www.kernel.org/doc/html/latest/networking/tls.html\nProcedural Macros in the Rust Reference: https://doc.rust-lang.org/reference/procedural-macros.html\nthe fun kind of discipline: https://bdsmtest.org/\nthe nom parser combinator library: https://crates.io/crates/nom\nthe syn parser for proc macros: https://crates.io/crates/syn\nWhat could've been (Rust introspection): https://thephd.dev/i-am-no-longer-speaking-at-rustconf-2023\nmodule initialization/teardown functions for Rust (like __attribute__((constructor)) in C/C++): https://crates.io/crates/ctor\nGo's http2 implementation doing reference-counting without counting: https://pkg.go.dev/golang.org/x/net/http2#Framer.ReadFrame\nMy old programming language, ooc: https://ooc-lang.org\nThe itch.io desktop app: https://itch.io/app\nI want off Mr Golang's wild ride: https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride\nAiming for correctness with types: https://fasterthanli.me/articles/aiming-for-correctness-with-types\nLies we tell ourselves to keep using Golang: https://fasterthanli.me/articles/lies-we-tell-ourselves-to-keep-using-golang\nproc macros as WASM blobs: https://crates.io/crates/watt\nrustdoc JSON output: https://doc.rust-lang.org/rustdoc/unstable-features.html#json-output\nBootstrapping the Rust compiler: https://rustc-dev-guide.rust-lang.org/building/bootstrapping/what-bootstrapping-does.html\nrustdoc serde-ish types: https://crates.io/crates/rustdoc-types\nlint your crate API changes for semver violations: https://crates.io/crates/cargo-semver-checks\ngit hooks for Rust projects: https://crates.io/crates/cargo-husky\ncargo build scripts: https://doc.rust-lang.org/cargo/reference/build-scripts.html\n\nThis video was sponsored by Brilliant.", "I ported h2spec to Rust (also: codegen!)", "eEtawNgwSC8", 969, false, "https://www.youtube.com/watch?v=eEtawNgwSC8", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e061000_I ported h2spec to Rust (also: codegen!).mp4", false, 29, ~U[2024-06-10 20:30:07Z]] 08:11:05.665 [debug] QUERY OK source="sources" db=0.2ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 08:11:05.665 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-03-09 08:57:49Z], 29] 08:11:05.669 [debug] QUERY OK source="media_items" db=3.4ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nThanks a lot to Tris from @NoBoilerplate for last-minute voice-over work!\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\n(Reference continue below)\n\nContents\n\n00:00 Sponsor disclaimer\n00:04 Intro\n01:53 Part 1: The Miracle of DSL\n03:05 Part 2: The Loopback Network Interface\n05:14 Part 3: IPv6\n08:20 And now a message from our sponsor\n09:55 Part 3 Episode 2: IPv6 (again)\n11:03 Part 4: IPv4\n12:32 Part 5: DHCP\n14:28 Part 6: NAT\n19:02 Part 7: Carrier-Grade NAT\n20:18 Thanks\n\nReferences\n\nHome Page Documentary Trailer Directed by Doug Block (Passion River Films): https://www.youtube.com/watch?v=o_RkSg4opPM\n\nasdfmovie4 (TomSka): https://www.youtube.com/watch?v=cYNdUM2gRsg\n\nHow the Internet works: Submarine fiber, brains in jars, and coaxial cables (Bob Dormon for Ars Technica UK) https://arstechnica.com/information-technology/2016/05/how-the-internet-works-submarine-cables-data-centres-last-mile\n\nWindows 95 Dial-Up in 2024 (NostalgiaWindows) https://www.youtube.com/watch?v=RvuyiUw2DJw\n\nUnderstanding how Facebook disappeared from the Internet (Cloudflare blog) https://blog.cloudflare.com/october-2021-facebook-outage/\n\nARPANET & Logical map of it: https://en.wikipedia.org/wiki/ARPANET\n\nZOOM 56k External Serial Modem Overview and Demo (dosdude1) https://www.youtube.com/watch?v=X1LKAp71XUA\n\nHow Broadband ADSL Works (Computerphile) https://www.youtube.com/watch?v=uwtGfyna62I\n\nHampster Dance: https://en.wikipedia.org/wiki/Hampster_Dance\n\nWeb Design Museum: Old versions of YouTube https://www.webdesignmuseum.org/gallery/youtube-2008\n\nIevan Polka: https://en.wikipedia.org/wiki/Ievan_polkka\n\nTrippy: traceroute & ping tool in Rust https://github.com/fujiapple852/trippy\n\nGeoipsed: Fast, inline geolocation decoration of IPv4 and IPv6 addresses written in Rust https://github.com/erichutchins/geoipsed\n\nSDV's BGP map graph tool: http://bgpmap.sdv.fr/\n\nNautilus: A Framework for Cross-Layer Cartography of Submarine Cables and IP Links https://dl.acm.org/doi/abs/10.1145/3626777\n\nWireshark: GUI packet sniffer https://www.wireshark.org/\n\nDominique https://en.wikipedia.org/wiki/Dominique", "POV: I'm on my third coffee and you just asked me how the internet works", "6d8ba1dc-e388-429c-9ef6-8a935d5c81be", "jjKFXlFNR4E", 1280, false, "https://www.youtube.com/watch?v=jjKFXlFNR4E", 15, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e030900_POV: I'm on my third coffee and you just asked me how the internet works.mp4", false, false, false, 29, [], 98, ~U[2024-03-09 08:57:49Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nThanks a lot to Tris from @NoBoilerplate for last-minute voice-over work!\n\nGo listen to Self-Directed Research Podcast: https://sdr-podcast.com\nFollow me on Bluesky: https://bsky.app/profile/fasterthanli.me\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\n(Reference continue below)\n\nContents\n\n00:00 Sponsor disclaimer\n00:04 Intro\n01:53 Part 1: The Miracle of DSL\n03:05 Part 2: The Loopback Network Interface\n05:14 Part 3: IPv6\n08:20 And now a message from our sponsor\n09:55 Part 3 Episode 2: IPv6 (again)\n11:03 Part 4: IPv4\n12:32 Part 5: DHCP\n14:28 Part 6: NAT\n19:02 Part 7: Carrier-Grade NAT\n20:18 Thanks\n\nReferences\n\nHome Page Documentary Trailer Directed by Doug Block (Passion River Films): https://www.youtube.com/watch?v=o_RkSg4opPM\n\nasdfmovie4 (TomSka): https://www.youtube.com/watch?v=cYNdUM2gRsg\n\nHow the Internet works: Submarine fiber, brains in jars, and coaxial cables (Bob Dormon for Ars Technica UK) https://arstechnica.com/information-technology/2016/05/how-the-internet-works-submarine-cables-data-centres-last-mile\n\nWindows 95 Dial-Up in 2024 (NostalgiaWindows) https://www.youtube.com/watch?v=RvuyiUw2DJw\n\nUnderstanding how Facebook disappeared from the Internet (Cloudflare blog) https://blog.cloudflare.com/october-2021-facebook-outage/\n\nARPANET & Logical map of it: https://en.wikipedia.org/wiki/ARPANET\n\nZOOM 56k External Serial Modem Overview and Demo (dosdude1) https://www.youtube.com/watch?v=X1LKAp71XUA\n\nHow Broadband ADSL Works (Computerphile) https://www.youtube.com/watch?v=uwtGfyna62I\n\nHampster Dance: https://en.wikipedia.org/wiki/Hampster_Dance\n\nWeb Design Museum: Old versions of YouTube https://www.webdesignmuseum.org/gallery/youtube-2008\n\nIevan Polka: https://en.wikipedia.org/wiki/Ievan_polkka\n\nTrippy: traceroute & ping tool in Rust https://github.com/fujiapple852/trippy\n\nGeoipsed: Fast, inline geolocation decoration of IPv4 and IPv6 addresses written in Rust https://github.com/erichutchins/geoipsed\n\nSDV's BGP map graph tool: http://bgpmap.sdv.fr/\n\nNautilus: A Framework for Cross-Layer Cartography of Submarine Cables and IP Links https://dl.acm.org/doi/abs/10.1145/3626777\n\nWireshark: GUI packet sniffer https://www.wireshark.org/\n\nDominique https://en.wikipedia.org/wiki/Dominique", "POV: I'm on my third coffee and you just asked me how the internet works", "jjKFXlFNR4E", 1280, false, "https://www.youtube.com/watch?v=jjKFXlFNR4E", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2024/s2024e030900_POV: I'm on my third coffee and you just asked me how the internet works.mp4", false, 29, ~U[2024-03-09 08:57:49Z]] 08:11:05.669 [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" = ?) [29] 08:11:05.669 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-12-23 11:25:57Z], 29] 08:11:05.672 [debug] QUERY OK source="media_items" db=2.1ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\n(Reference continue below)\n\nContents\n\n00:00 Sponsor disclaimer\n00:02 Intro\n00:24 Part 1: A Short (And Mostly Wrong) History of Personal Computing\n01:37 Part 2: Life before GitHub\n05:06 Part 3: The Toyota Way\n06:49 Part 4: The Heist\n09:11 Sponsored segment\n10:17 Part 5: A Completely Unsolicited (And Frankly Quite Rude) Review Of The GitHub Actions Code\n13:04 Part 6: GitHub Actions' Identity Crisis\n16:22 Part 7: Maybe This Is More Complicated Than We Thought\n21:45 Part 8: The Things I Cannot Change\n25:29 Thanks\n\nReferences:\n\nPurple Motion - Second Reality (remastered) by LenweSaralonde\nhttps://www.youtube.com/watch?v=GL5vb3D-8_I\n\nSamantha Fox Strip Poker\nhttps://www.lemon64.com/game/samantha-fox-strip-poker\n\nVersion Management Tools: CVS to BK in the Linux Kernel\nhttps://flosshub.org/sites/flosshub.org/files/shaikhcornford.pdf\n\nCVS, Linus, and us\nhttps://lkml.indiana.edu/hypermail/linux/kernel/9602/0314.html\n\nWikipedia: Home computer\nhttps://en.wikipedia.org/wiki/Home_computer\n\nBryan O’ Sullivan, via Internet Archive, “Why I am no longer working at Mercurial”\nhttps://web.archive.org/web/20051210154818/http://article.gmane.org/gmane.comp.version-control.mercurial.devel/3481\n\nRichard M. Stallman, “The spirit of the BitKeeper license is the spirit of the whip hand”\nhttps://marc.info/?l=linux-kernel&m=103454948625224&w=2\n\nLinus Torvalds, “How about doing something about it?”\nhttps://lwn.net/2002/0425/a/ideology-sucks.php3\n\nWikipedia: Diff, 1974\nhttps://en.wikipedia.org/wiki/Diff\n\nWikipedia: Concurrent Versions System, 1990\nhttps://en.wikipedia.org/wiki/Concurrent_Versions_System\n\nThe Agile Manifesto: History\nhttps://agilemanifesto.org/history.html\n\nWikipedia: Lean software development\nhttps://en.wikipedia.org/wiki/Lean_software_development\n\nWikipedia: Lean manufacturing\nhttps://en.wikipedia.org/wiki/Lean_manufacturing\n\nInfuse: Fusing Integration Test Management with Change Management\nhttps://doi.org/10.1109/CMPSAC.1989.65147\n\nGrady Booch, Object Solutions (1996)\nhttps://www.google.com/books/edition/Object_Solutions/vlMZAQAAIAAJ?hl=en&gbpv=1&bsq=continuous%20integration&dq=object%20solutions&printsec=frontcover\n\nMicrosoft acquires GitHub for $7.5B (2018)\nhttps://news.microsoft.com/announcement/microsoft-acquires-github/\n\nGitHub Actions: built by you, run by us\nhttps://github.blog/2018-10-17-action-demos/\n\nCompare and contrast GitHub Actions and Azure Pipelines\nhttps://web.archive.org/web/20231207125453/https://learn.microsoft.com/en-us/dotnet/architecture/devops-for-aspnet-developers/actions-vs-pipelines\n\nAction-tmate (SSH into running jobs):\nhttps://github.com/mxschmitt/action-tmate\n\nAct (run actions locally):\nhttps://github.com/nektos/act\n\nGitHub Actions Runner node.js logic:\nhttps://github.com/actions/runner/blob/9e3e57ff90c089641a3a5833c2211841da1a37f8/src/Runner.Worker/Handlers/StepHost.cs#L156-L174\n\nI Want Off Mr Golang’s Wild Ride (2020):\nhttps://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride\n\nSpecify check suite when creating a checkrun:\nhttps://github.com/orgs/community/discussions/24616\n\nUSENIX 2023, ARGUS:\nhttps://www.usenix.org/conference/usenixsecurity23/presentation/muralee\n\nSecurity Hardening for GitHub Actions\nhttps://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions\n\nJazz Emu’s “Digital Spool” album on Bandcamp:\nhttps://jazzemu.bandcamp.com/album/digital-spool", "GitHub Actions Feels Bad", "8a5c4143-922a-408c-b937-520dabbaaf91", "9qljpi5jiMQ", 1587, false, "https://www.youtube.com/watch?v=9qljpi5jiMQ", 16, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2023/s2023e122300_GitHub Actions Feels Bad.mp4", false, false, false, 29, [], 98, ~U[2023-12-23 11:25:57Z], ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], "To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.\n\nThis video was sponsored by Brilliant.\n\nFollow me on Mastodon: https://hachyderm.io/@fasterthanlime\nSupport me on Patreon or GitHub: https://fasterthanli.me/donate\n\n(Reference continue below)\n\nContents\n\n00:00 Sponsor disclaimer\n00:02 Intro\n00:24 Part 1: A Short (And Mostly Wrong) History of Personal Computing\n01:37 Part 2: Life before GitHub\n05:06 Part 3: The Toyota Way\n06:49 Part 4: The Heist\n09:11 Sponsored segment\n10:17 Part 5: A Completely Unsolicited (And Frankly Quite Rude) Review Of The GitHub Actions Code\n13:04 Part 6: GitHub Actions' Identity Crisis\n16:22 Part 7: Maybe This Is More Complicated Than We Thought\n21:45 Part 8: The Things I Cannot Change\n25:29 Thanks\n\nReferences:\n\nPurple Motion - Second Reality (remastered) by LenweSaralonde\nhttps://www.youtube.com/watch?v=GL5vb3D-8_I\n\nSamantha Fox Strip Poker\nhttps://www.lemon64.com/game/samantha-fox-strip-poker\n\nVersion Management Tools: CVS to BK in the Linux Kernel\nhttps://flosshub.org/sites/flosshub.org/files/shaikhcornford.pdf\n\nCVS, Linus, and us\nhttps://lkml.indiana.edu/hypermail/linux/kernel/9602/0314.html\n\nWikipedia: Home computer\nhttps://en.wikipedia.org/wiki/Home_computer\n\nBryan O’ Sullivan, via Internet Archive, “Why I am no longer working at Mercurial”\nhttps://web.archive.org/web/20051210154818/http://article.gmane.org/gmane.comp.version-control.mercurial.devel/3481\n\nRichard M. Stallman, “The spirit of the BitKeeper license is the spirit of the whip hand”\nhttps://marc.info/?l=linux-kernel&m=103454948625224&w=2\n\nLinus Torvalds, “How about doing something about it?”\nhttps://lwn.net/2002/0425/a/ideology-sucks.php3\n\nWikipedia: Diff, 1974\nhttps://en.wikipedia.org/wiki/Diff\n\nWikipedia: Concurrent Versions System, 1990\nhttps://en.wikipedia.org/wiki/Concurrent_Versions_System\n\nThe Agile Manifesto: History\nhttps://agilemanifesto.org/history.html\n\nWikipedia: Lean software development\nhttps://en.wikipedia.org/wiki/Lean_software_development\n\nWikipedia: Lean manufacturing\nhttps://en.wikipedia.org/wiki/Lean_manufacturing\n\nInfuse: Fusing Integration Test Management with Change Management\nhttps://doi.org/10.1109/CMPSAC.1989.65147\n\nGrady Booch, Object Solutions (1996)\nhttps://www.google.com/books/edition/Object_Solutions/vlMZAQAAIAAJ?hl=en&gbpv=1&bsq=continuous%20integration&dq=object%20solutions&printsec=frontcover\n\nMicrosoft acquires GitHub for $7.5B (2018)\nhttps://news.microsoft.com/announcement/microsoft-acquires-github/\n\nGitHub Actions: built by you, run by us\nhttps://github.blog/2018-10-17-action-demos/\n\nCompare and contrast GitHub Actions and Azure Pipelines\nhttps://web.archive.org/web/20231207125453/https://learn.microsoft.com/en-us/dotnet/architecture/devops-for-aspnet-developers/actions-vs-pipelines\n\nAction-tmate (SSH into running jobs):\nhttps://github.com/mxschmitt/action-tmate\n\nAct (run actions locally):\nhttps://github.com/nektos/act\n\n (truncated) 08:11:05.672 [debug] QUERY OK source="sources" db=0.1ms idle=7.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z], 29] 08:11:05.673 [debug] QUERY OK source="media_items" db=0.3ms idle=4.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [29] 08:11:05.673 [debug] QUERY OK source="media_items" db=0.2ms idle=3.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")))) [29] 08:11:05.674 [debug] QUERY OK source="media_items" db=0.1ms idle=3.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [29] 08:11:05.675 [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" [419904, 29, ~U[2026-06-29 13:11:05Z], ~U[2026-06-29 13:11:05Z]] 08:11:05.675 [info] {"args":{"id":29},"id":419342,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":34071293,"event":"job:stop","queue_time":75815,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 08:11:23.761 [info] {"source":"oban","duration":7810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:53.770 [info] {"source":"oban","duration":7851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:00.105 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:12:23.778 [info] {"source":"oban","duration":7074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:53.785 [info] {"source":"oban","duration":6538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:00.106 [info] {"source":"oban","duration":339,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:13:23.793 [info] {"source":"oban","duration":7480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:42.905 [info] {"args":{"id":51},"id":419888,"meta":{},"system_time":1782738822905198661,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:13:42.906 [debug] QUERY OK source="sources" db=0.5ms idle=1748.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:13:42.906 [debug] QUERY OK source="settings" db=0.1ms idle=1749.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:13:42.907 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1009.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:13:42.907 [debug] QUERY OK source="settings" db=0.6ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:13:42.907 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 08:13:43.086 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 08:13:43.087 [debug] QUERY OK source="media_items" db=0.7ms idle=181.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 08:13:43.088 [debug] QUERY OK source="media_items" db=0.4ms idle=182.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [51] 08:13:43.089 [debug] QUERY OK source="tasks" db=0.1ms idle=181.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419905, 51, ~U[2026-06-29 13:13:43Z], ~U[2026-06-29 13:13:43Z]] 08:13:43.090 [info] {"args":{"id":51},"id":419888,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":184458,"event":"job:stop","queue_time":744866,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:13:53.801 [info] {"source":"oban","duration":7855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:14:00.107 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:14:23.809 [info] {"source":"oban","duration":7233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:28.978 [info] {"args":{"id":1090410},"id":412788,"meta":{},"system_time":1782738868978651042,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":18,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:14:28.979 [debug] QUERY OK source="media_items" db=0.2ms idle=1821.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" = ?) [1090410] 08:14:28.979 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:14:28.980 [debug] QUERY OK source="sources" db=0.7ms idle=1008.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:14:28.980 [debug] QUERY OK source="media_profiles" db=0.1ms idle=823.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] 08:14:28.981 [debug] QUERY OK source="media_items" db=0.5ms 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 [1090410] 08:14:28.982 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1090410] 08:14:28.982 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 08:14:28.982 [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 [] 08:14:28.982 [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 [] 08:14:28.983 [debug] Running yt-dlp command for action: get_downloadable_status 08:14:28.983 [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 [] 08:14:28.983 [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 [] 08:14:28.984 [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 [] 08:14:28.984 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=iZ28MsKYTNg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a9/92/a99295315c82763f9462c9f5a9331e6ce5811be8c0a6de4f81e0e907e3037c39.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:14:30.836 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=iZ28MsKYTNg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a9/92/a99295315c82763f9462c9f5a9331e6ce5811be8c0a6de4f81e0e907e3037c39.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] iZ28MsKYTNg: Join this channel to get access to members-only content like this video, and other exclusive perks. 08:14:30.836 [error] yt-dlp download error for media item #1090410: "ERROR: [youtube] iZ28MsKYTNg: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 08:14:30.837 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1090410},"id":412788,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1858381,"event":"job:exception","queue_time":227270,"attempt":18,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:14:51.011 [info] {"args":{"id":1012059},"id":419872,"meta":{},"system_time":1782738891011431635,"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"]} 08:14:51.011 [debug] QUERY OK source="media_items" db=0.1ms idle=854.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" = ?) [1012059] 08:14:51.011 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:14:51.012 [debug] QUERY OK source="sources" db=0.2ms idle=854.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:14:51.012 [debug] QUERY OK source="media_profiles" db=0.2ms idle=855.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] 08:14:51.013 [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 [1012059] 08:14:51.013 [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" = ?) [1012059] 08:14:51.013 [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] 08:14:51.014 [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 [] 08:14:51.014 [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 [] 08:14:51.014 [debug] Running yt-dlp command for action: get_downloadable_status 08:14:51.016 [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 [] 08:14:51.016 [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 [] 08:14:51.016 [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 [] 08:14:51.016 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/1f/d71f243e6c6f6dedc981e1ce2c77d11becc9d08f8a82073b7ccc202979e01a45.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:14:52.758 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/1f/d71f243e6c6f6dedc981e1ce2c77d11becc9d08f8a82073b7ccc202979e01a45.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks. 08:14:52.758 [error] yt-dlp download error for media item #1012059: "ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 08:14:52.759 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012059},"id":419872,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1747105,"event":"job:exception","queue_time":776380,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:14:53.817 [info] {"source":"oban","duration":7719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:00.108 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:15:23.826 [info] {"source":"oban","duration":8771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:29.069 [info] {"args":{"id":52},"id":419902,"meta":{},"system_time":1782738929069505016,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:15:29.070 [debug] QUERY OK source="sources" db=0.6ms idle=1912.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:15:29.070 [debug] QUERY OK source="settings" db=0.1ms idle=1010.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:15:29.071 [debug] QUERY OK source="media_profiles" db=0.1ms idle=913.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:15:29.071 [debug] QUERY OK source="settings" db=0.5ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:15:29.071 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 08:15:29.119 [debug] Media ids fetched from RSS: ["ZTNyTK0BQ9Q", "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg"] 08:15:29.120 [debug] QUERY OK source="media_items" db=0.3ms idle=50.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "ZTNyTK0BQ9Q", "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg"] 08:15:29.121 [debug] QUERY OK source="media_items" db=0.6ms idle=49.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")))) [52] 08:15:29.123 [debug] QUERY OK source="tasks" db=0.1ms idle=51.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419906, 1301334, ~U[2026-06-29 13:15:29Z], ~U[2026-06-29 13:15:29Z]] 08:15:29.126 [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" [419907, 1301335, ~U[2026-06-29 13:15:29Z], ~U[2026-06-29 13:15:29Z]] 08:15:29.128 [debug] QUERY OK source="tasks" db=0.2ms idle=2.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419908, 1301347, ~U[2026-06-29 13:15:29Z], ~U[2026-06-29 13:15:29Z]] 08:15:29.130 [info] {"args":{"id":1301334},"id":419906,"meta":{},"system_time":1782738929130871267,"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"]} 08:15:29.131 [info] {"args":{"id":1301335},"id":419907,"meta":{},"system_time":1782738929130907658,"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"]} 08:15:29.131 [debug] QUERY OK source="media_items" db=0.3ms 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" = ?) [1301334] 08:15:29.131 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:15:29.131 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 08:15:29.131 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:15:29.132 [debug] QUERY OK source="sources" db=0.5ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:15:29.132 [debug] QUERY OK source="sources" db=0.4ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:15:29.132 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=0.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419909, 1301392, ~U[2026-06-29 13:15:29Z], ~U[2026-06-29 13:15:29Z]] 08:15:29.132 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:15:29.132 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:15:29.133 [debug] QUERY OK source="media_items" db=0.6ms idle=0.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 [1301334] 08:15:29.133 [debug] QUERY OK source="media_items" db=0.7ms 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 [1301335] 08:15:29.135 [debug] QUERY OK source="tasks" db=0.1ms idle=2.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419910, 1301393, ~U[2026-06-29 13:15:29Z], ~U[2026-06-29 13:15:29Z]] 08:15:29.135 [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" = ?) [1301334] 08:15:29.136 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 08:15:29.136 [debug] QUERY OK source="media_metadata" db=0.3ms 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" = ?) [1301335] 08:15:29.137 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 08:15:29.137 [debug] QUERY OK source="settings" db=0.6ms 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 [] 08:15:29.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 [] 08:15:29.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 [] 08:15:29.137 [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 [] 08:15:29.137 [debug] Running yt-dlp command for action: get_downloadable_status 08:15:29.138 [debug] QUERY OK source="tasks" db=0.1ms idle=1.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419911, 1301394, ~U[2026-06-29 13:15:29Z], ~U[2026-06-29 13:15:29Z]] 08:15:29.139 [debug] Running yt-dlp command for action: get_downloadable_status 08:15:29.139 [debug] QUERY OK source="settings" db=0.2ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:15:29.139 [debug] QUERY OK source="settings" db=0.2ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:15:29.139 [debug] QUERY OK source="settings" db=0.4ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:15:29.140 [debug] QUERY OK source="settings" db=0.2ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:15:29.140 [debug] QUERY OK source="settings" db=0.3ms 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 [] 08:15:29.140 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/36/9e3657946117b54546daabeb05ec2b700cc28b46f53696a34facd96098bd3fde.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:15:29.140 [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 [] 08:15:29.140 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/79/387960ea802ac0482d257bcc4693abbdad3ef88a5b458127317feb984ac810b0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:15:29.142 [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" [419912, 1301395, ~U[2026-06-29 13:15:29Z], ~U[2026-06-29 13:15:29Z]] 08:15:29.145 [debug] QUERY OK source="tasks" db=0.2ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419913, 1301397, ~U[2026-06-29 13:15:29Z], ~U[2026-06-29 13:15:29Z]] 08:15:29.147 [debug] QUERY OK source="tasks" db=0.2ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419914, 1301398, ~U[2026-06-29 13:15:29Z], ~U[2026-06-29 13:15:29Z]] 08:15:29.149 [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" [419915, 1301399, ~U[2026-06-29 13:15:29Z], ~U[2026-06-29 13:15:29Z]] 08:15:29.152 [debug] QUERY OK source="tasks" db=0.2ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419916, 1301400, ~U[2026-06-29 13:15:29Z], ~U[2026-06-29 13:15:29Z]] 08:15:29.172 [debug] QUERY OK source="tasks" db=17.5ms idle=2.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419917, 2720968, ~U[2026-06-29 13:15:29Z], ~U[2026-06-29 13:15:29Z]] 08:15:29.177 [debug] QUERY OK source="tasks" db=0.3ms idle=22.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419918, 52, ~U[2026-06-29 13:15:29Z], ~U[2026-06-29 13:15:29Z]] 08:15:29.177 [info] {"args":{"id":52},"id":419902,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":107563,"event":"job:stop","queue_time":484966,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:15:30.857 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/36/9e3657946117b54546daabeb05ec2b700cc28b46f53696a34facd96098bd3fde.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:15:30.857 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:30.857 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:30.857 [info] {"args":{"id":1301334},"id":419906,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1726438,"event":"job:stop","queue_time":128990,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:15:30.865 [info] {"args":{"id":1301347},"id":419908,"meta":{},"system_time":1782738930864959334,"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"]} 08:15:30.865 [debug] QUERY OK source="media_items" db=0.2ms idle=1687.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" = ?) [1301347] 08:15:30.865 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:15:30.865 [debug] QUERY OK source="sources" db=0.1ms idle=1682.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:15:30.866 [debug] QUERY OK source="media_profiles" db=0.1ms idle=801.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] 08:15:30.866 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301347] 08:15:30.868 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301347] 08:15:30.869 [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] 08:15:30.869 [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 [] 08:15:30.869 [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 [] 08:15:30.869 [debug] Running yt-dlp command for action: get_downloadable_status 08:15:30.870 [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 [] 08:15:30.870 [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 [] 08:15:30.870 [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 [] 08:15:30.870 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/d9/67d9e3828bde6b0fad3ac451315c2bdf45739cc9e9ff189bc60a1dee276c6cf0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:15:31.003 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/79/387960ea802ac0482d257bcc4693abbdad3ef88a5b458127317feb984ac810b0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:15:31.003 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:31.003 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:31.004 [info] {"args":{"id":1301335},"id":419907,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1872891,"event":"job:stop","queue_time":128990,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:15:31.010 [info] {"args":{"id":1301392},"id":419909,"meta":{},"system_time":1782738931010623625,"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"]} 08:15:31.011 [debug] QUERY OK source="media_items" db=0.1ms idle=140.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" = ?) [1301392] 08:15:31.011 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:15:31.011 [debug] QUERY OK source="sources" db=0.1ms idle=140.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:15:31.011 [debug] QUERY OK source="media_profiles" db=0.1ms idle=140.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:15:31.012 [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 [1301392] 08:15:31.013 [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" = ?) [1301392] 08:15:31.013 [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] 08:15:31.014 [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 [] 08:15:31.014 [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 [] 08:15:31.014 [debug] Running yt-dlp command for action: get_downloadable_status 08:15:31.015 [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 [] 08:15:31.015 [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 [] 08:15:31.015 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:15:31.016 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8d/b5/8db5627e9b2994137d41a16bdc736f269374f481e5d9df862481af20d527cdd5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:15:32.563 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/d9/67d9e3828bde6b0fad3ac451315c2bdf45739cc9e9ff189bc60a1dee276c6cf0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:15:32.563 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:32.563 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:32.564 [info] {"args":{"id":1301347},"id":419908,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1698835,"event":"job:stop","queue_time":1863913,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:15:32.570 [info] {"args":{"id":1301393},"id":419910,"meta":{},"system_time":1782738932570883957,"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"]} 08:15:32.571 [debug] QUERY OK source="media_items" db=0.1ms idle=413.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" = ?) [1301393] 08:15:32.571 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:15:32.571 [debug] QUERY OK source="sources" db=0.1ms idle=413.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:15:32.571 [debug] QUERY OK source="media_profiles" db=0.1ms idle=414.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] 08:15:32.572 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301393] 08:15:32.573 [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" = ?) [1301393] 08:15:32.573 [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] 08:15:32.573 [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 [] 08:15:32.573 [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 [] 08:15:32.574 [debug] Running yt-dlp command for action: get_downloadable_status 08:15:32.574 [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 [] 08:15:32.575 [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 [] 08:15:32.575 [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 [] 08:15:32.575 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a2/1c/a21c2bac9e6d2fcf2e74c2fd33578d83299e8b7fa5f060b1ea4ffacca79b5491.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:15:32.753 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8d/b5/8db5627e9b2994137d41a16bdc736f269374f481e5d9df862481af20d527cdd5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:15:32.754 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:32.754 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:32.754 [info] {"args":{"id":1301392},"id":419909,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1743693,"event":"job:stop","queue_time":2009898,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:15:32.760 [info] {"args":{"id":1301394},"id":419911,"meta":{},"system_time":1782738932760465177,"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"]} 08:15:32.760 [debug] QUERY OK source="media_items" db=0.1ms idle=185.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301394] 08:15:32.760 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:15:32.761 [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" = ?) [52] 08:15:32.761 [debug] QUERY OK source="media_profiles" db=0.1ms idle=186.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:15:32.761 [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 [1301394] 08:15:32.762 [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" = ?) [1301394] 08:15:32.762 [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] 08:15:32.763 [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 [] 08:15:32.763 [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 [] 08:15:32.763 [debug] Running yt-dlp command for action: get_downloadable_status 08:15:32.764 [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 [] 08:15:32.764 [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 [] 08:15:32.764 [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 [] 08:15:32.764 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c5/9b/c59b6729ae7a2c24d83762260b755cfd6f80d4efa23232db4ef3670941b14071.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:15:34.371 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a2/1c/a21c2bac9e6d2fcf2e74c2fd33578d83299e8b7fa5f060b1ea4ffacca79b5491.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:15:34.371 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:34.371 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:34.372 [info] {"args":{"id":1301393},"id":419910,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1800736,"event":"job:stop","queue_time":3569948,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:15:34.378 [info] {"args":{"id":1301395},"id":419912,"meta":{},"system_time":1782738934378771714,"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"]} 08:15:34.379 [debug] QUERY OK source="media_items" db=0.3ms idle=221.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" = ?) [1301395] 08:15:34.379 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:15:34.379 [debug] QUERY OK source="sources" db=0.1ms idle=222.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:15:34.380 [debug] QUERY OK source="media_profiles" db=0.1ms idle=222.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:15:34.380 [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 [1301395] 08:15:34.381 [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" = ?) [1301395] 08:15:34.381 [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] 08:15:34.381 [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 [] 08:15:34.381 [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 [] 08:15:34.382 [debug] Running yt-dlp command for action: get_downloadable_status 08:15:34.382 [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 [] 08:15:34.382 [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 [] 08:15:34.383 [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 [] 08:15:34.383 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/66/d3/66d303dc36a55e5b5a404a5cfb62ad22c31e65ee9f9d7214cc4b27b826f92094.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:15:34.876 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c5/9b/c59b6729ae7a2c24d83762260b755cfd6f80d4efa23232db4ef3670941b14071.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:15:34.876 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:34.876 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:34.876 [info] {"args":{"id":1301394},"id":419911,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2116026,"event":"job:stop","queue_time":3759942,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:15:34.883 [info] {"args":{"id":1301397},"id":419913,"meta":{},"system_time":1782738934883538811,"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"]} 08:15:34.884 [debug] QUERY OK source="media_items" db=0.1ms idle=501.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" = ?) [1301397] 08:15:34.884 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:15:34.884 [debug] QUERY OK source="sources" db=0.2ms idle=501.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:15:34.884 [debug] QUERY OK source="media_profiles" db=0.1ms idle=501.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] 08:15:34.885 [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 [1301397] 08:15:34.886 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301397] 08:15:34.886 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 08:15:34.886 [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 [] 08:15:34.887 [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 [] 08:15:34.887 [debug] Running yt-dlp command for action: get_downloadable_status 08:15:34.888 [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 [] 08:15:34.888 [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 [] 08:15:34.888 [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 [] 08:15:34.888 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/ce/8ccefe5844b651df6edcc74504fe93363c66ecc67ef1cdfabda91f151780b01a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:15:36.106 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/66/d3/66d303dc36a55e5b5a404a5cfb62ad22c31e65ee9f9d7214cc4b27b826f92094.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:15:36.106 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:36.106 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:36.107 [info] {"args":{"id":1301395},"id":419912,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1727865,"event":"job:stop","queue_time":5377938,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:15:36.113 [info] {"args":{"id":1301398},"id":419914,"meta":{},"system_time":1782738936113555986,"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"]} 08:15:36.114 [debug] QUERY OK source="media_items" db=0.2ms idle=1225.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" = ?) [1301398] 08:15:36.114 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:15:36.114 [debug] QUERY OK source="sources" db=0.2ms idle=1042.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:15:36.114 [debug] QUERY OK source="media_profiles" db=0.1ms idle=41.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:15:36.115 [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 [1301398] 08:15:36.115 [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" = ?) [1301398] 08:15:36.115 [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] 08:15:36.116 [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 [] 08:15:36.116 [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 [] 08:15:36.116 [debug] Running yt-dlp command for action: get_downloadable_status 08:15:36.117 [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 [] 08:15:36.117 [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 [] 08:15:36.117 [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 [] 08:15:36.118 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/66/fb/66fbe4a443dd5042f05ad8cea56d303962a1c578ccd9c3812ff98bbbb317af2a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:15:36.563 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/ce/8ccefe5844b651df6edcc74504fe93363c66ecc67ef1cdfabda91f151780b01a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:15:36.563 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:36.563 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:36.564 [info] {"args":{"id":1301397},"id":419913,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1680226,"event":"job:stop","queue_time":5882904,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:15:36.570 [info] {"args":{"id":1301399},"id":419915,"meta":{},"system_time":1782738936570468931,"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"]} 08:15:36.570 [debug] QUERY OK source="media_items" db=0.1ms idle=453.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" = ?) [1301399] 08:15:36.571 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:15:36.571 [debug] QUERY OK source="sources" db=0.1ms idle=453.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:15:36.571 [debug] QUERY OK source="media_profiles" db=0.1ms idle=453.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:15:36.571 [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 [1301399] 08:15:36.573 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301399] 08:15:36.574 [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] 08:15:36.574 [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 [] 08:15:36.574 [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 [] 08:15:36.574 [debug] Running yt-dlp command for action: get_downloadable_status 08:15:36.575 [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 [] 08:15:36.575 [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 [] 08:15:36.575 [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 [] 08:15:36.575 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/88/438895e749026f8892e6af9f0dcee0ba1acbf4697214d18d1790e233952b5904.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:15:38.086 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/66/fb/66fbe4a443dd5042f05ad8cea56d303962a1c578ccd9c3812ff98bbbb317af2a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:15:38.086 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:38.086 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:38.086 [info] {"args":{"id":1301398},"id":419914,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1972890,"event":"job:stop","queue_time":7112908,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:15:38.092 [info] {"args":{"id":1301400},"id":419916,"meta":{},"system_time":1782738938092835055,"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"]} 08:15:38.093 [debug] QUERY OK source="media_items" db=0.1ms idle=1517.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" = ?) [1301400] 08:15:38.093 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:15:38.093 [debug] QUERY OK source="sources" db=0.1ms idle=1019.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:15:38.093 [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] 08:15:38.094 [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 [1301400] 08:15:38.095 [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" = ?) [1301400] 08:15:38.095 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 08:15:38.095 [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 [] 08:15:38.095 [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 [] 08:15:38.096 [debug] Running yt-dlp command for action: get_downloadable_status 08:15:38.097 [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 [] 08:15:38.097 [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 [] 08:15:38.097 [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 [] 08:15:38.097 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ad/02/ad0234833642affee89f36087c78a3e94631533d5be959bb8c0263f8b6e3a140.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:15:38.391 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/43/88/438895e749026f8892e6af9f0dcee0ba1acbf4697214d18d1790e233952b5904.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:15:38.391 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:38.391 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:38.391 [info] {"args":{"id":1301399},"id":419915,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1821021,"event":"job:stop","queue_time":7569899,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:15:38.398 [info] {"args":{"id":2720968},"id":419917,"meta":{},"system_time":1782738938398459306,"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"]} 08:15:38.398 [debug] QUERY OK source="media_items" db=0.2ms idle=301.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" = ?) [2720968] 08:15:38.399 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:15:38.399 [debug] QUERY OK source="sources" db=0.2ms idle=301.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:15:38.399 [debug] QUERY OK source="media_profiles" db=0.1ms idle=301.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:15:38.399 [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 [2720968] 08:15:38.402 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [2720968] 08:15:38.402 [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] 08:15:38.402 [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 [] 08:15:38.402 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:15:38.403 [debug] Running yt-dlp command for action: get_downloadable_status 08:15:38.403 [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 [] 08:15:38.404 [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 [] 08:15:38.404 [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 [] 08:15:38.404 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/52/81/52811c3418798bb46c98d6a7ea86ed8f698515ecfc8aa26530c3bfbe12c1a0fa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:15:40.171 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/52/81/52811c3418798bb46c98d6a7ea86ed8f698515ecfc8aa26530c3bfbe12c1a0fa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:15:40.171 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:40.172 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:40.172 [info] {"args":{"id":2720968},"id":419917,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1773592,"event":"job:stop","queue_time":9397942,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:15:40.296 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ad/02/ad0234833642affee89f36087c78a3e94631533d5be959bb8c0263f8b6e3a140.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:15:40.296 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:40.296 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:15:40.297 [info] {"args":{"id":1301400},"id":419916,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2203808,"event":"job:stop","queue_time":9091901,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:15:53.834 [info] {"source":"oban","duration":7705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:00.109 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:16:23.843 [info] {"source":"oban","duration":8158,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:16:53.851 [info] {"source":"oban","duration":7438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:00.110 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:17:23.858 [info] {"source":"oban","duration":5816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:53.866 [info] {"source":"oban","duration":7660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:18:00.111 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:18:23.872 [info] {"source":"oban","duration":5552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:53.881 [info] {"source":"oban","duration":8169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:00.112 [info] {"source":"oban","duration":148,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:19:23.887 [info] {"source":"oban","duration":5941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:53.894 [info] {"source":"oban","duration":5098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:00.113 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:20:23.903 [info] {"source":"oban","duration":8322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:53.908 [info] {"source":"oban","duration":4802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:54.527 [info] {"args":{"id":1012087},"id":419032,"meta":{},"system_time":1782739254527522860,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:20:54.528 [debug] QUERY OK source="media_items" db=0.6ms idle=1370.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" = ?) [1012087] 08:20:54.528 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:20:54.528 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:20:54.529 [debug] QUERY OK source="media_profiles" db=0.6ms idle=620.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:20:54.530 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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 [1012087] 08:20:54.531 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1012087] 08:20:54.531 [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] 08:20:54.531 [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 [] 08:20:54.531 [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 [] 08:20:54.532 [debug] Running yt-dlp command for action: get_downloadable_status 08:20:54.533 [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 [] 08:20:54.533 [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 [] 08:20:54.533 [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 [] 08:20:54.533 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3bKWmjXyOTk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/27/ca/27ca1a2edacb181a53fd5915ce929644384200e59636cfcc6659fb6b5ef80b22.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:20:56.436 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3bKWmjXyOTk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/27/ca/27ca1a2edacb181a53fd5915ce929644384200e59636cfcc6659fb6b5ef80b22.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 3bKWmjXyOTk: Join this channel to get access to members-only content like this video, and other exclusive perks. 08:20:56.436 [error] yt-dlp download error for media item #1012087: "ERROR: [youtube] 3bKWmjXyOTk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 08:20:56.437 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012087},"id":419032,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1909572,"event":"job:exception","queue_time":857117,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:21:00.114 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:21:23.917 [info] {"source":"oban","duration":8122,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:53.926 [info] {"source":"oban","duration":8521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:00.115 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:22:23.934 [info] {"source":"oban","duration":7530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:53.939 [info] {"source":"oban","duration":4902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:00.116 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:23:23.948 [info] {"source":"oban","duration":7445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:43.802 [info] {"args":{"id":51},"id":419905,"meta":{},"system_time":1782739423802282279,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:23:43.803 [debug] QUERY OK source="sources" db=0.6ms idle=645.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:23:43.803 [debug] QUERY OK source="settings" db=0.1ms idle=646.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:23:43.804 [debug] QUERY OK source="media_profiles" db=0.6ms idle=646.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:23:43.804 [debug] QUERY OK source="settings" db=0.5ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:23:43.804 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 08:23:43.994 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 08:23:43.996 [debug] QUERY OK source="media_items" db=1.0ms idle=192.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 08:23:43.996 [debug] QUERY OK source="media_items" db=0.3ms idle=193.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 08:23:43.997 [debug] QUERY OK source="tasks" db=0.1ms idle=192.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419919, 51, ~U[2026-06-29 13:23:43Z], ~U[2026-06-29 13:23:43Z]] 08:23:43.998 [info] {"args":{"id":51},"id":419905,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":195555,"event":"job:stop","queue_time":712238,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:23:53.957 [info] {"source":"oban","duration":8153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:24:00.118 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:24:23.965 [info] {"source":"oban","duration":7913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:38.889 [info] {"args":{"id":1012070},"id":393528,"meta":{},"system_time":1782739478889602711,"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"]} 08:24:38.890 [debug] QUERY OK source="media_items" db=0.1ms idle=1732.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" = ?) [1012070] 08:24:38.890 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:24:38.890 [debug] QUERY OK source="sources" db=0.1ms idle=1732.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:24:38.891 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1008.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:24:38.892 [debug] QUERY OK source="media_items" db=0.7ms 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 [1012070] 08:24:38.892 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1012070] 08:24:38.893 [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] 08:24:38.893 [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 [] 08:24:38.893 [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 [] 08:24:38.893 [debug] Running yt-dlp command for action: get_downloadable_status 08:24:38.894 [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 [] 08:24:38.894 [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 [] 08:24:38.894 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:24:38.894 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZEWRngMFu_A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/86/fb/86fb535815a6d2d59c9279dadaaa2ca7b5077e1b7a614ced2337ddb9476921b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:24:40.894 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZEWRngMFu_A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/86/fb/86fb535815a6d2d59c9279dadaaa2ca7b5077e1b7a614ced2337ddb9476921b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZEWRngMFu_A: Join this channel to get access to members-only content like this video, and other exclusive perks. 08:24:40.894 [error] yt-dlp download error for media item #1012070: "ERROR: [youtube] ZEWRngMFu_A: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 08:24:40.894 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012070},"id":393528,"meta":{},"state":"discard","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2004739,"event":"job:exception","queue_time":883901,"attempt":20,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:24:53.975 [info] {"source":"oban","duration":8146,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:00.119 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:25:23.983 [info] {"source":"oban","duration":7317,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:29.973 [info] {"args":{"id":52},"id":419918,"meta":{},"system_time":1782739529973021329,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:25:29.973 [debug] QUERY OK source="sources" db=0.6ms idle=816.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:25:29.974 [debug] QUERY OK source="settings" db=0.5ms idle=816.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:25:29.974 [debug] QUERY OK source="media_profiles" db=0.1ms idle=817.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:25:29.975 [debug] QUERY OK source="settings" db=0.1ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:25:29.975 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 08:25:30.249 [debug] Media ids fetched from RSS: ["ZTNyTK0BQ9Q", "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg"] 08:25:30.250 [debug] QUERY OK source="media_items" db=0.4ms idle=276.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "ZTNyTK0BQ9Q", "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg"] 08:25:30.251 [debug] QUERY OK source="media_items" db=0.6ms idle=276.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [52] 08:25:30.253 [debug] QUERY OK source="tasks" db=0.1ms idle=278.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419920, 1301334, ~U[2026-06-29 13:25:30Z], ~U[2026-06-29 13:25:30Z]] 08:25:30.256 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419921, 1301335, ~U[2026-06-29 13:25:30Z], ~U[2026-06-29 13:25:30Z]] 08:25:30.258 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419922, 1301347, ~U[2026-06-29 13:25:30Z], ~U[2026-06-29 13:25:30Z]] 08:25:30.260 [info] {"args":{"id":1301334},"id":419920,"meta":{},"system_time":1782739530260098564,"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"]} 08:25:30.260 [info] {"args":{"id":1301335},"id":419921,"meta":{},"system_time":1782739530260137680,"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"]} 08:25:30.260 [debug] QUERY OK source="media_items" db=0.4ms 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" = ?) [1301335] 08:25:30.260 [debug] QUERY OK source="media_items" db=0.6ms 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."id" = ?) [1301334] 08:25:30.261 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:25:30.261 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:25:30.261 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [52] 08:25:30.261 [debug] QUERY OK source="sources" db=0.5ms idle=1.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:25:30.262 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:25:30.262 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:25:30.262 [debug] QUERY OK source="tasks" db=0.3ms idle=0.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419923, 1301392, ~U[2026-06-29 13:25:30Z], ~U[2026-06-29 13:25:30Z]] 08:25:30.262 [debug] QUERY OK source="media_items" db=0.5ms 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 [1301335] 08:25:30.262 [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 [1301334] 08:25:30.265 [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" [419924, 1301393, ~U[2026-06-29 13:25:30Z], ~U[2026-06-29 13:25:30Z]] 08:25:30.267 [debug] QUERY OK source="tasks" db=0.1ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419925, 1301394, ~U[2026-06-29 13:25:30Z], ~U[2026-06-29 13:25:30Z]] 08:25:30.269 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419926, 1301395, ~U[2026-06-29 13:25:30Z], ~U[2026-06-29 13:25:30Z]] 08:25:30.272 [debug] QUERY OK source="tasks" db=0.2ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419927, 1301397, ~U[2026-06-29 13:25:30Z], ~U[2026-06-29 13:25:30Z]] 08:25:30.273 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.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" = ?) [1301335] 08:25:30.273 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 08:25:30.274 [debug] QUERY OK source="media_metadata" db=0.2ms queue=0.1ms 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" = ?) [1301334] 08:25:30.274 [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 [] 08:25:30.274 [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] 08:25:30.274 [debug] QUERY OK source="settings" db=0.3ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:25:30.275 [debug] Running yt-dlp command for action: get_downloadable_status 08:25:30.275 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:25:30.275 [debug] QUERY OK source="settings" db=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:25:30.275 [debug] Running yt-dlp command for action: get_downloadable_status 08:25:30.275 [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 [] 08:25:30.276 [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 [] 08:25:30.276 [debug] QUERY OK source="tasks" db=0.2ms idle=0.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419928, 1301398, ~U[2026-06-29 13:25:30Z], ~U[2026-06-29 13:25:30Z]] 08:25:30.276 [debug] QUERY OK source="settings" db=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:25:30.276 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/74/0d/740d51b2c5561176289325b7591689b64eb9fd6a892b1021df412e4c043998df.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:25:30.276 [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 [] 08:25:30.276 [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 [] 08:25:30.277 [debug] QUERY OK source="settings" db=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:25:30.277 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8a/bb/8abb978dbe134923b3aed0e4ebaf7160b8ed3e2d0f40ce7fe8b7f580983c9dd3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:25:30.278 [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" [419929, 1301399, ~U[2026-06-29 13:25:30Z], ~U[2026-06-29 13:25:30Z]] 08:25:30.281 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419930, 1301400, ~U[2026-06-29 13:25:30Z], ~U[2026-06-29 13:25:30Z]] 08:25:30.283 [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" [419931, 2720968, ~U[2026-06-29 13:25:30Z], ~U[2026-06-29 13:25:30Z]] 08:25:30.284 [debug] QUERY OK source="tasks" db=0.2ms idle=1.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419932, 52, ~U[2026-06-29 13:25:30Z], ~U[2026-06-29 13:25:30Z]] 08:25:30.284 [info] {"args":{"id":52},"id":419918,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":311412,"event":"job:stop","queue_time":799817,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:25:31.947 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8a/bb/8abb978dbe134923b3aed0e4ebaf7160b8ed3e2d0f40ce7fe8b7f580983c9dd3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:25:31.948 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:31.948 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:31.948 [info] {"args":{"id":1301334},"id":419920,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1688155,"event":"job:stop","queue_time":258904,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:25:31.955 [info] {"args":{"id":1301347},"id":419922,"meta":{},"system_time":1782739531954821520,"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"]} 08:25:31.955 [debug] QUERY OK source="media_items" db=0.2ms idle=1670.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" = ?) [1301347] 08:25:31.955 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:25:31.955 [debug] QUERY OK source="sources" db=0.1ms idle=1665.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:25:31.956 [debug] QUERY OK source="media_profiles" db=0.1ms idle=987.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] 08:25:31.956 [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 [1301347] 08:25:31.957 [debug] QUERY OK source="media_metadata" db=0.0ms 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" = ?) [1301347] 08:25:31.958 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:25:31.958 [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 [] 08:25:31.958 [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 [] 08:25:31.958 [debug] Running yt-dlp command for action: get_downloadable_status 08:25:31.959 [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 [] 08:25:31.959 [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 [] 08:25:31.959 [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 [] 08:25:31.959 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/85/5b/855bf26475529cfe30e0620b2e6619c627b37d62356ba630ac7d6ff1100179f9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:25:32.354 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/74/0d/740d51b2c5561176289325b7591689b64eb9fd6a892b1021df412e4c043998df.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:25:32.355 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:32.355 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:32.355 [info] {"args":{"id":1301335},"id":419921,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2094973,"event":"job:stop","queue_time":258904,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:25:32.361 [info] {"args":{"id":1301392},"id":419923,"meta":{},"system_time":1782739532361589259,"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"]} 08:25:32.361 [debug] QUERY OK source="media_items" db=0.1ms idle=402.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" = ?) [1301392] 08:25:32.362 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:25:32.362 [debug] QUERY OK source="sources" db=0.1ms idle=402.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:25:32.362 [debug] QUERY OK source="media_profiles" db=0.1ms idle=392.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:25:32.362 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301392] 08:25:32.364 [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" = ?) [1301392] 08:25:32.364 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 08:25:32.364 [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 [] 08:25:32.364 [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 [] 08:25:32.365 [debug] Running yt-dlp command for action: get_downloadable_status 08:25:32.365 [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 [] 08:25:32.365 [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 [] 08:25:32.365 [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 [] 08:25:32.365 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4a/c0/4ac0469a57692d0513988b588abb8b9044391980cae78b1c7885013d125f37cf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:25:33.678 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/85/5b/855bf26475529cfe30e0620b2e6619c627b37d62356ba630ac7d6ff1100179f9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:25:33.678 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:33.679 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:33.679 [info] {"args":{"id":1301347},"id":419922,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1724260,"event":"job:stop","queue_time":1953965,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:25:33.685 [info] {"args":{"id":1301393},"id":419924,"meta":{},"system_time":1782739533685508453,"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"]} 08:25:33.685 [debug] QUERY OK source="media_items" db=0.1ms idle=1320.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301393] 08:25:33.686 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:25:33.686 [debug] QUERY OK source="sources" db=0.1ms idle=1320.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:25:33.686 [debug] QUERY OK source="media_profiles" db=0.1ms idle=715.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] 08:25:33.687 [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 [1301393] 08:25:33.688 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301393] 08:25:33.688 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 08:25:33.688 [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 [] 08:25:33.688 [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 [] 08:25:33.689 [debug] Running yt-dlp command for action: get_downloadable_status 08:25:33.689 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:25:33.689 [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 [] 08:25:33.689 [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 [] 08:25:33.690 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1b/57/1b573244d01476498a8b46ef9cb6e34313c9ff7fc53522479a3f83390ff3bde7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:25:34.186 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4a/c0/4ac0469a57692d0513988b588abb8b9044391980cae78b1c7885013d125f37cf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:25:34.186 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:34.187 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:34.187 [info] {"args":{"id":1301392},"id":419923,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1825525,"event":"job:stop","queue_time":2360941,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:25:34.193 [info] {"args":{"id":1301394},"id":419925,"meta":{},"system_time":1782739534193653937,"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"]} 08:25:34.194 [debug] QUERY OK source="media_items" db=0.1ms idle=504.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" = ?) [1301394] 08:25:34.194 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:25:34.194 [debug] QUERY OK source="sources" db=0.1ms idle=504.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:25:34.194 [debug] QUERY OK source="media_profiles" db=0.1ms idle=222.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:25:34.195 [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 [1301394] 08:25:34.196 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.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" = ?) [1301394] 08:25:34.196 [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] 08:25:34.196 [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 [] 08:25:34.196 [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 [] 08:25:34.197 [debug] Running yt-dlp command for action: get_downloadable_status 08:25:34.197 [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 [] 08:25:34.197 [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 [] 08:25:34.198 [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 [] 08:25:34.198 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ee/53/ee53e24796cfbd1f14e4b0b76f0dc949407aad99106a772583d957998b38abfe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:25:35.675 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1b/57/1b573244d01476498a8b46ef9cb6e34313c9ff7fc53522479a3f83390ff3bde7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:25:35.675 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:35.676 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:35.676 [info] {"args":{"id":1301393},"id":419924,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1990587,"event":"job:stop","queue_time":3684898,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:25:35.683 [info] {"args":{"id":1301395},"id":419926,"meta":{},"system_time":1782739535683182122,"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"]} 08:25:35.683 [debug] QUERY OK source="media_items" db=0.1ms idle=1485.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" = ?) [1301395] 08:25:35.683 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:25:35.683 [debug] QUERY OK source="sources" db=0.1ms idle=1485.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:25:35.684 [debug] QUERY OK source="media_profiles" db=0.1ms idle=711.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:25:35.684 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301395] 08:25:35.686 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [1301395] 08:25:35.686 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:25:35.686 [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 [] 08:25:35.686 [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 [] 08:25:35.686 [debug] Running yt-dlp command for action: get_downloadable_status 08:25:35.687 [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 [] 08:25:35.687 [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 [] 08:25:35.687 [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 [] 08:25:35.687 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/fb/cffb64113424f8b76d0ecc84dea7a67509b99728d6e121a2f67e53d76b922851.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:25:36.120 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ee/53/ee53e24796cfbd1f14e4b0b76f0dc949407aad99106a772583d957998b38abfe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:25:36.120 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:36.120 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:36.121 [info] {"args":{"id":1301394},"id":419925,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1927160,"event":"job:stop","queue_time":4192943,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:25:36.127 [info] {"args":{"id":1301397},"id":419927,"meta":{},"system_time":1782739536127564148,"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"]} 08:25:36.127 [debug] QUERY OK source="media_items" db=0.1ms idle=440.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301397] 08:25:36.128 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:25:36.128 [debug] QUERY OK source="sources" db=0.1ms idle=440.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:25:36.128 [debug] QUERY OK source="media_profiles" db=0.1ms idle=154.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:25:36.129 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301397] 08:25:36.130 [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" = ?) [1301397] 08:25:36.130 [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] 08:25:36.130 [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 [] 08:25:36.130 [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 [] 08:25:36.130 [debug] Running yt-dlp command for action: get_downloadable_status 08:25:36.131 [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 [] 08:25:36.131 [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 [] 08:25:36.131 [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 [] 08:25:36.132 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6d/be/6dbe4847b2247e8310f4d5377ca662df6ed3c9fd3d150e7a9149d5edc43bcde0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:25:37.476 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/fb/cffb64113424f8b76d0ecc84dea7a67509b99728d6e121a2f67e53d76b922851.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:25:37.476 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:37.476 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:37.476 [info] {"args":{"id":1301395},"id":419926,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1793165,"event":"job:stop","queue_time":5681913,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:25:37.483 [info] {"args":{"id":1301398},"id":419928,"meta":{},"system_time":1782739537483390096,"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"]} 08:25:37.484 [debug] QUERY OK source="media_items" db=0.4ms idle=326.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" = ?) [1301398] 08:25:37.484 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:25:37.484 [debug] QUERY OK source="sources" db=0.1ms idle=327.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:25:37.485 [debug] QUERY OK source="media_profiles" db=0.1ms idle=327.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:25:37.485 [debug] QUERY OK source="media_items" db=0.1ms idle=8.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 [1301398] 08:25:37.487 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301398] 08:25:37.487 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 08:25:37.487 [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 [] 08:25:37.487 [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 [] 08:25:37.488 [debug] Running yt-dlp command for action: get_downloadable_status 08:25:37.489 [debug] QUERY OK source="settings" db=0.0ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:25:37.489 [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 [] 08:25:37.489 [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 [] 08:25:37.489 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b7/a7/b7a75c9ac08156dbe505de6b2db00e318edf1b363013485ad99227cf95742c79.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:25:38.121 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6d/be/6dbe4847b2247e8310f4d5377ca662df6ed3c9fd3d150e7a9149d5edc43bcde0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:25:38.122 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:38.122 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:38.122 [info] {"args":{"id":1301397},"id":419927,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1994634,"event":"job:stop","queue_time":6126958,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:25:38.128 [info] {"args":{"id":1301399},"id":419929,"meta":{},"system_time":1782739538128554014,"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"]} 08:25:38.128 [debug] QUERY OK source="media_items" db=0.1ms idle=639.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" = ?) [1301399] 08:25:38.129 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:25:38.129 [debug] QUERY OK source="sources" db=0.1ms idle=639.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:25:38.129 [debug] QUERY OK source="media_profiles" db=0.1ms idle=151.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:25:38.129 [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 [1301399] 08:25:38.131 [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" = ?) [1301399] 08:25:38.131 [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] 08:25:38.131 [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 [] 08:25:38.131 [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 [] 08:25:38.131 [debug] Running yt-dlp command for action: get_downloadable_status 08:25:38.132 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:25:38.132 [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 [] 08:25:38.133 [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 [] 08:25:38.133 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/f6/8cf6352b7f7eae148020efd7d4ec45787522f0523602dcee88839b6e08d033bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:25:39.270 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b7/a7/b7a75c9ac08156dbe505de6b2db00e318edf1b363013485ad99227cf95742c79.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:25:39.270 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:39.270 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:39.271 [info] {"args":{"id":1301398},"id":419928,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1787444,"event":"job:stop","queue_time":7482890,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:25:39.278 [info] {"args":{"id":1301400},"id":419930,"meta":{},"system_time":1782739539277955053,"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"]} 08:25:39.278 [debug] QUERY OK source="media_items" db=0.1ms idle=121.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301400] 08:25:39.278 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:25:39.278 [debug] QUERY OK source="sources" db=0.1ms idle=121.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:25:39.279 [debug] QUERY OK source="media_profiles" db=0.1ms idle=121.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:25:39.279 [debug] QUERY OK source="media_items" db=0.1ms 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 [1301400] 08:25:39.280 [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" = ?) [1301400] 08:25:39.280 [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] 08:25:39.280 [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 [] 08:25:39.280 [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 [] 08:25:39.280 [debug] Running yt-dlp command for action: get_downloadable_status 08:25:39.281 [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 [] 08:25:39.281 [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 [] 08:25:39.281 [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 [] 08:25:39.281 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/f6/b9f6619247ae46131acf0db3a9b76e8bf23de267050b56f575f4e4e21ae93cd6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:25:40.078 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/f6/8cf6352b7f7eae148020efd7d4ec45787522f0523602dcee88839b6e08d033bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:25:40.078 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:40.078 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:40.079 [info] {"args":{"id":1301399},"id":419929,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1950366,"event":"job:stop","queue_time":8127894,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:25:40.085 [info] {"args":{"id":2720968},"id":419931,"meta":{},"system_time":1782739540085892388,"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"]} 08:25:40.086 [debug] QUERY OK source="media_items" db=0.1ms idle=804.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" = ?) [2720968] 08:25:40.086 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:25:40.086 [debug] QUERY OK source="sources" db=0.1ms idle=804.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:25:40.086 [debug] QUERY OK source="media_profiles" db=0.1ms idle=105.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:25:40.087 [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 [2720968] 08:25:40.088 [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" = ?) [2720968] 08:25:40.088 [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] 08:25:40.088 [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 [] 08:25:40.088 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:25:40.089 [debug] Running yt-dlp command for action: get_downloadable_status 08:25:40.090 [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 [] 08:25:40.090 [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 [] 08:25:40.090 [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 [] 08:25:40.090 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5b/04/5b044677d85be7eb3f06c4c116d4627a6852d242fe60834696776115e07839fb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:25:41.100 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/f6/b9f6619247ae46131acf0db3a9b76e8bf23de267050b56f575f4e4e21ae93cd6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:25:41.100 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:41.100 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:41.100 [info] {"args":{"id":1301400},"id":419930,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1822507,"event":"job:stop","queue_time":9276930,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:25:41.753 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5b/04/5b044677d85be7eb3f06c4c116d4627a6852d242fe60834696776115e07839fb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:25:41.753 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:41.754 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:25:41.754 [info] {"args":{"id":2720968},"id":419931,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1668165,"event":"job:stop","queue_time":10084930,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:25:53.991 [info] {"source":"oban","duration":7499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:00.120 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:26:24.001 [info] {"source":"oban","duration":9089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:26:54.011 [info] {"source":"oban","duration":9324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:27:00.121 [info] {"source":"oban","duration":147,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:27:02.895 [info] GET /sources/43/media/2897787/force_download 08:27:02.895 [debug] QUERY OK source="settings" db=0.1ms idle=1737.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:02.895 [debug] QUERY OK source="settings" db=0.1ms idle=1738.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:02.895 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:27:02.896 [error] #PID<0.1180114.0> running PinchflatWeb.Endpoint (connection #PID<0.1180113.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/2897787/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/2897787/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2897787/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50058}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180114.0>, params: %{}, path_info: ["sources", "43", "media", "2897787", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/2897787/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QPd2rXgvhHJcCQpyB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2897787/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50058}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/43/media/2897787/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2897787/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50058}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180114.0>, params: %{}, path_info: ["sources", "43", "media", "2897787", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:27:03.395 [info] GET /sources/43/media/3223700/force_download 08:27:03.396 [debug] QUERY OK source="settings" db=0.2ms 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 [] 08:27:03.396 [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 [] 08:27:03.396 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:27:03.397 [error] #PID<0.1180059.0> running PinchflatWeb.Endpoint (connection #PID<0.1180113.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3223700/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3223700/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3223700/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50058}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180059.0>, params: %{}, path_info: ["sources", "43", "media", "3223700", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3223700/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QPfuF-yUmSGECQpzB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3223700/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50058}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/43/media/3223700/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3223700/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50058}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180059.0>, params: %{}, path_info: ["sources", "43", "media", "3223700", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:27:07.551 [info] GET /sources/43/media/3255292/force_download 08:27:07.552 [debug] QUERY OK source="settings" db=0.1ms idle=426.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:07.552 [debug] QUERY OK source="settings" db=0.0ms idle=394.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:07.552 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:27:07.552 [error] #PID<0.1180055.0> running PinchflatWeb.Endpoint (connection #PID<0.1180113.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3255292/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3255292/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3255292/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50058}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180055.0>, params: %{}, path_info: ["sources", "43", "media", "3255292", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3255292/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QPvM7ItBeZDoCQp0B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3255292/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50058}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/43/media/3255292/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3255292/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50058}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180055.0>, params: %{}, path_info: ["sources", "43", "media", "3255292", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:27:07.929 [info] GET /sources/55/media/3071593/force_download 08:27:07.929 [debug] QUERY OK source="settings" db=0.2ms idle=771.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:07.929 [debug] QUERY OK source="settings" db=0.1ms idle=772.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:07.930 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:27:07.930 [error] #PID<0.1180058.0> running PinchflatWeb.Endpoint (connection #PID<0.1180113.0>, stream id 5) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/55/media/3071593/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/55/media/3071593/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/3071593/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50058}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180058.0>, params: %{}, path_info: ["sources", "55", "media", "3071593", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/55/media/3071593/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QPwm55U_N3lMCQp1B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/3071593/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50058}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/55/media/3071593/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/3071593/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50058}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180058.0>, params: %{}, path_info: ["sources", "55", "media", "3071593", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:27:23.383 [info] GET /sources/52/media/3156555/force_download 08:27:23.383 [debug] QUERY OK source="settings" db=0.2ms idle=227.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:23.383 [debug] QUERY OK source="settings" db=0.0ms idle=226.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:23.384 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:27:23.384 [error] #PID<0.1180119.0> running PinchflatWeb.Endpoint (connection #PID<0.1180117.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/3156555/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/3156555/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3156555/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46706}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180119.0>, params: %{}, path_info: ["sources", "52", "media", "3156555", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/3156555/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QQqLdZdyUNLcCQp3B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3156555/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46706}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/52/media/3156555/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3156555/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46706}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180119.0>, params: %{}, path_info: ["sources", "52", "media", "3156555", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:27:23.801 [info] GET /sources/30/media/2984228/force_download 08:27:23.802 [debug] QUERY OK source="settings" db=0.2ms idle=644.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:23.802 [debug] QUERY OK source="settings" db=0.0ms idle=645.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:23.802 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:27:23.802 [error] #PID<0.1180120.0> running PinchflatWeb.Endpoint (connection #PID<0.1180117.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/2984228/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/2984228/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/2984228/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46706}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180120.0>, params: %{}, path_info: ["sources", "30", "media", "2984228", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/2984228/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QQrvMoBRzdVMCQp4B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/2984228/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46706}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/30/media/2984228/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180117.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/2984228/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46706}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180120.0>, params: %{}, path_info: ["sources", "30", "media", "2984228", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:27:24.020 [info] {"source":"oban","duration":8540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:54.026 [info] {"source":"oban","duration":5453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:56.518 [info] GET /media/09c10ded-5f38-49c8-adc3-5de7e635c1e6/stream 08:27:56.518 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "09c10ded-5f38-49c8-adc3-5de7e635c1e6"} Pipelines: [:maybe_basic_auth] 08:27:56.519 [debug] QUERY OK source="media_items" db=0.2ms idle=1361.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["09c10ded-5f38-49c8-adc3-5de7e635c1e6"] 08:27:56.519 [debug] Invalid range request for media item: 09c10ded-5f38-49c8-adc3-5de7e635c1e6 - serving full file 08:27:56.519 [info] Sent 200 in 731µs 08:27:56.950 [info] GET /sources/9/media/2984780/force_download 08:27:56.951 [debug] QUERY OK source="settings" db=0.1ms idle=1793.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:56.951 [debug] QUERY OK source="settings" db=0.1ms idle=1794.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:56.951 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:27:56.951 [error] #PID<0.1180127.0> running PinchflatWeb.Endpoint (connection #PID<0.1180125.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/9/media/2984780/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/2984780/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/2984780/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51430}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180127.0>, params: %{}, path_info: ["sources", "9", "media", "2984780", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/9/media/2984780/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QSnOnd8ZBYUUCQp7B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/2984780/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51430}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/9/media/2984780/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/2984780/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51430}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180127.0>, params: %{}, path_info: ["sources", "9", "media", "2984780", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", (truncated) 08:27:59.220 [info] GET /sources/57/media/2452655/force_download 08:27:59.220 [debug] QUERY OK source="settings" db=0.0ms idle=1063.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:59.221 [debug] QUERY OK source="settings" db=0.0ms idle=1063.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:59.221 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:27:59.221 [error] #PID<0.1180126.0> running PinchflatWeb.Endpoint (connection #PID<0.1180125.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/2452655/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/2452655/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2452655/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51430}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180126.0>, params: %{}, path_info: ["sources", "57", "media", "2452655", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/2452655/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QSvru6NrraroCQp8B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2452655/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51430}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/57/media/2452655/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/2452655/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51430}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180126.0>, params: %{}, path_info: ["sources", "57", "media", "2452655", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:27:59.432 [info] GET /sources/43/media/3255584/force_download 08:27:59.432 [debug] QUERY OK source="settings" db=0.1ms idle=1220.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:59.432 [debug] QUERY OK source="settings" db=0.1ms idle=275.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:27:59.433 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:27:59.433 [error] #PID<0.1180130.0> running PinchflatWeb.Endpoint (connection #PID<0.1180125.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3255584/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3255584/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3255584/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51430}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180130.0>, params: %{}, path_info: ["sources", "43", "media", "3255584", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3255584/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QSweMErRoBoECQp9B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3255584/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51430}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/43/media/3255584/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3255584/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51430}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180130.0>, params: %{}, path_info: ["sources", "43", "media", "3255584", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:28:00.122 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:28:24.034 [info] {"source":"oban","duration":7854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:32.184 [info] GET /sources/57/media/3009690/force_download 08:28:32.185 [debug] QUERY OK source="settings" db=0.1ms idle=930.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:28:32.185 [debug] QUERY OK source="settings" db=0.0ms idle=930.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:28:32.185 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:28:32.185 [error] #PID<0.1180135.0> running PinchflatWeb.Endpoint (connection #PID<0.1180133.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/3009690/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/3009690/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180133.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3009690/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58076}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180135.0>, params: %{}, path_info: ["sources", "57", "media", "3009690", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/3009690/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QUqfDgryacmICQp_B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180133.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3009690/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58076}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/media/3009690/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180133.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3009690/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58076}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180135.0>, params: %{}, path_info: ["sources", "57", "media", "3009690", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:28:32.581 [info] GET /media/21e4a48c-eb9d-4512-a1fb-295fe00f6a2c/stream 08:28:32.581 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "21e4a48c-eb9d-4512-a1fb-295fe00f6a2c"} Pipelines: [:maybe_basic_auth] 08:28:32.591 [debug] QUERY OK source="media_items" db=8.9ms idle=1326.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["21e4a48c-eb9d-4512-a1fb-295fe00f6a2c"] 08:28:32.591 [debug] Invalid range request for media item: 21e4a48c-eb9d-4512-a1fb-295fe00f6a2c - serving full file 08:28:32.591 [info] Sent 200 in 9ms 08:28:54.044 [info] {"source":"oban","duration":8294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:00.123 [info] {"source":"oban","duration":426,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:29:18.507 [info] GET /sources/57/media/3197319/force_download 08:29:18.507 [debug] QUERY OK source="settings" db=0.1ms idle=1240.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:29:18.508 [debug] QUERY OK source="settings" db=0.0ms idle=1240.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:29:18.508 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:29:18.508 [error] #PID<0.1180139.0> running PinchflatWeb.Endpoint (connection #PID<0.1180140.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/3197319/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/3197319/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3197319/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46320}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180139.0>, params: %{}, path_info: ["sources", "57", "media", "3197319", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/3197319/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QXXDOY63ndmkCQqCB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3197319/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46320}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/media/3197319/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3197319/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46320}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180139.0>, params: %{}, path_info: ["sources", "57", "media", "3197319", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:29:18.920 [info] GET /sources/55/media/3292181/force_download 08:29:18.921 [debug] QUERY OK source="settings" db=0.2ms idle=1653.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:29:18.921 [debug] QUERY OK source="settings" db=0.1ms idle=1560.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:29:18.921 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:29:18.921 [error] #PID<0.1180141.0> running PinchflatWeb.Endpoint (connection #PID<0.1180140.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/55/media/3292181/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/55/media/3292181/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/3292181/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46320}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180141.0>, params: %{}, path_info: ["sources", "55", "media", "3292181", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/55/media/3292181/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QXYlufgHVtBoCQqDB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/3292181/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46320}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/media/3292181/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180140.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/55/media/3292181/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 46320}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180141.0>, params: %{}, path_info: ["sources", "55", "media", "3292181", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:29:22.525 [info] GET /media/08a684b2-8b86-4d25-9b0e-d435ea176083/stream 08:29:22.526 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "08a684b2-8b86-4d25-9b0e-d435ea176083"} Pipelines: [:maybe_basic_auth] 08:29:22.526 [debug] QUERY OK source="media_items" db=0.5ms idle=259.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["08a684b2-8b86-4d25-9b0e-d435ea176083"] 08:29:22.526 [debug] Invalid range request for media item: 08a684b2-8b86-4d25-9b0e-d435ea176083 - serving full file 08:29:22.527 [info] Sent 200 in 1ms 08:29:24.053 [info] {"source":"oban","duration":8627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:54.059 [info] {"source":"oban","duration":5491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:00.125 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:30:06.337 [info] GET /media/01f05cbe-49cd-48ee-9bd4-23b985c936c9/stream 08:30:06.337 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "01f05cbe-49cd-48ee-9bd4-23b985c936c9"} Pipelines: [:maybe_basic_auth] 08:30:06.338 [debug] QUERY OK source="media_items" db=0.8ms idle=1070.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["01f05cbe-49cd-48ee-9bd4-23b985c936c9"] 08:30:06.338 [debug] Invalid range request for media item: 01f05cbe-49cd-48ee-9bd4-23b985c936c9 - serving full file 08:30:06.338 [info] Sent 200 in 1ms 08:30:24.065 [info] {"source":"oban","duration":5508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:27.601 [info] GET /sources/52/media/3274678/force_download 08:30:27.602 [debug] QUERY OK source="settings" db=0.1ms idle=1291.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:30:27.602 [debug] QUERY OK source="settings" db=0.1ms idle=594.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:30:27.602 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:30:27.602 [error] #PID<0.1180154.0> running PinchflatWeb.Endpoint (connection #PID<0.1180152.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/3274678/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/3274678/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180152.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3274678/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55732}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180154.0>, params: %{}, path_info: ["sources", "52", "media", "3274678", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/3274678/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QbYclKPlEoLoCQqJB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180152.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3274678/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55732}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/52/media/3274678/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180152.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3274678/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 55732}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180154.0>, params: %{}, path_info: ["sources", "52", "media", "3274678", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:30:54.072 [info] {"source":"oban","duration":5739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:00.152 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:31:05.665 [info] GET /sources/43/media/3114962/force_download 08:31:05.666 [debug] QUERY OK source="settings" db=0.5ms idle=557.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:31:05.666 [debug] QUERY OK source="settings" db=0.0ms idle=197.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:31:05.666 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:31:05.667 [error] #PID<0.1180157.0> running PinchflatWeb.Endpoint (connection #PID<0.1180155.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3114962/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3114962/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180155.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3114962/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 48920}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180157.0>, params: %{}, path_info: ["sources", "43", "media", "3114962", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3114962/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QdmPu_mmtYcACQqLB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180155.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3114962/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 48920}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/43/media/3114962/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180155.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3114962/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 48920}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180157.0>, params: %{}, path_info: ["sources", "43", "media", "3114962", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:31:15.414 [info] GET /sources/43/media/2966551/force_download 08:31:15.415 [debug] QUERY OK source="settings" db=0.1ms idle=1945.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:31:15.415 [debug] QUERY OK source="settings" db=0.1ms idle=1946.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:31:15.415 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:31:15.415 [error] #PID<0.1180159.0> running PinchflatWeb.Endpoint (connection #PID<0.1180160.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/2966551/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/2966551/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180160.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2966551/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60308}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180159.0>, params: %{}, path_info: ["sources", "43", "media", "2966551", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/2966551/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QeKkHNOsrEF0CQqMB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180160.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2966551/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60308}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/43/media/2966551/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180160.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2966551/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60308}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180159.0>, params: %{}, path_info: ["sources", "43", "media", "2966551", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:31:24.079 [info] {"source":"oban","duration":6231,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:46.023 [info] GET /media/b074f118-cc6a-41e5-bf31-4ca225ee7f2e/stream 08:31:46.023 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "b074f118-cc6a-41e5-bf31-4ca225ee7f2e"} Pipelines: [:maybe_basic_auth] 08:31:46.024 [debug] QUERY OK source="media_items" db=0.4ms idle=1554.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["b074f118-cc6a-41e5-bf31-4ca225ee7f2e"] 08:31:46.024 [debug] Invalid range request for media item: b074f118-cc6a-41e5-bf31-4ca225ee7f2e - serving full file 08:31:46.024 [info] Sent 200 in 979µs 08:31:54.084 [info] {"source":"oban","duration":4922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:00.153 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:32:15.696 [info] GET /sources/57/media/3150000/force_download 08:32:15.696 [debug] QUERY OK source="settings" db=0.1ms idle=302.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:32:15.696 [debug] QUERY OK source="settings" db=0.0ms idle=227.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:32:15.696 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:32:15.697 [error] #PID<0.1180170.0> running PinchflatWeb.Endpoint (connection #PID<0.1180164.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/3150000/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/3150000/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180164.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3150000/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51820}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180170.0>, params: %{}, path_info: ["sources", "57", "media", "3150000", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/3150000/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QhrIRXalCijECQqQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180164.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3150000/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51820}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/media/3150000/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180164.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3150000/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51820}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180170.0>, params: %{}, path_info: ["sources", "57", "media", "3150000", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:32:18.307 [info] GET /sources/43/media/3006251/force_download 08:32:18.308 [debug] QUERY OK source="settings" db=0.1ms idle=909.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:32:18.308 [debug] QUERY OK source="settings" db=0.0ms idle=839.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:32:18.308 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:32:18.308 [error] #PID<0.1180177.0> running PinchflatWeb.Endpoint (connection #PID<0.1180164.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3006251/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3006251/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180164.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3006251/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51820}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180177.0>, params: %{}, path_info: ["sources", "43", "media", "3006251", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3006251/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2Qh02-Djo32u4CQqRB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180164.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3006251/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51820}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/43/media/3006251/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180164.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3006251/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 51820}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180177.0>, params: %{}, path_info: ["sources", "43", "media", "3006251", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:32:24.092 [info] {"source":"oban","duration":6461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:32:34.335 [info] GET /media/f2d4562b-71cf-4104-8d95-44d917fd3fb3/stream 08:32:34.335 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "f2d4562b-71cf-4104-8d95-44d917fd3fb3"} Pipelines: [:maybe_basic_auth] 08:32:34.336 [debug] QUERY OK source="media_items" db=0.8ms idle=913.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["f2d4562b-71cf-4104-8d95-44d917fd3fb3"] 08:32:34.337 [debug] Invalid range request for media item: f2d4562b-71cf-4104-8d95-44d917fd3fb3 - serving full file 08:32:34.337 [info] Sent 200 in 1ms 08:32:54.101 [info] {"source":"oban","duration":8065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:33:00.154 [info] {"source":"oban","duration":139,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:33:02.981 [info] GET /sources/57/media/3032962/force_download 08:33:02.982 [debug] QUERY OK source="settings" db=0.1ms idle=1362.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:02.982 [debug] QUERY OK source="settings" db=0.0ms idle=1362.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:02.982 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:33:02.982 [error] #PID<0.1180179.0> running PinchflatWeb.Endpoint (connection #PID<0.1180184.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/3032962/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/3032962/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3032962/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 40716}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180179.0>, params: %{}, path_info: ["sources", "57", "media", "3032962", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/3032962/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QkbSFqIhXJKMCQqXB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3032962/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 40716}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/media/3032962/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3032962/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 40716}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180179.0>, params: %{}, path_info: ["sources", "57", "media", "3032962", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:33:24.109 [info] {"source":"oban","duration":7597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:25.688 [info] GET /media/d528edc9-4cc4-475d-bb91-706485d51490/stream 08:33:25.688 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "d528edc9-4cc4-475d-bb91-706485d51490"} Pipelines: [:maybe_basic_auth] 08:33:25.689 [debug] QUERY OK source="media_items" db=0.4ms idle=1069.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["d528edc9-4cc4-475d-bb91-706485d51490"] 08:33:25.689 [debug] Invalid range request for media item: d528edc9-4cc4-475d-bb91-706485d51490 - serving full file 08:33:25.689 [info] Sent 200 in 930µs 08:33:40.853 [info] GET /sources/32/media/3087232/force_download 08:33:40.854 [debug] QUERY OK source="settings" db=0.2ms idle=1234.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:40.854 [debug] QUERY OK source="settings" db=0.1ms idle=1235.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:40.854 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:33:40.854 [error] #PID<0.1180193.0> running PinchflatWeb.Endpoint (connection #PID<0.1180192.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/3087232/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/32/media/3087232/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180192.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3087232/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58500}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180193.0>, params: %{}, path_info: ["sources", "32", "media", "3087232", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/3087232/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QmoXdI9P-m6ACQqaB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180192.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3087232/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58500}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/32/media/3087232/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180192.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3087232/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58500}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180193.0>, params: %{}, path_info: ["sources", "32", "media", "3087232", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:33:41.128 [info] GET /media/2a330752-e06e-4b41-a95d-6e4d2fe17634/stream 08:33:41.128 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "2a330752-e06e-4b41-a95d-6e4d2fe17634"} Pipelines: [:maybe_basic_auth] 08:33:41.129 [debug] QUERY OK source="media_items" db=0.9ms idle=1509.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["2a330752-e06e-4b41-a95d-6e4d2fe17634"] 08:33:41.129 [debug] Invalid range request for media item: 2a330752-e06e-4b41-a95d-6e4d2fe17634 - serving full file 08:33:41.129 [info] Sent 200 in 1ms 08:33:41.620 [info] GET /sources/32/media/3142000/force_download 08:33:41.620 [debug] QUERY OK source="settings" db=0.1ms idle=765.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:41.620 [debug] QUERY OK source="settings" db=0.0ms idle=765.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:41.620 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:33:41.620 [error] #PID<0.1180196.0> running PinchflatWeb.Endpoint (connection #PID<0.1180195.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/3142000/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/32/media/3142000/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180195.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3142000/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58508}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180196.0>, params: %{}, path_info: ["sources", "32", "media", "3142000", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/3142000/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QmrOI6qeeysECQqcB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180195.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3142000/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58508}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/32/media/3142000/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180195.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3142000/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58508}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180196.0>, params: %{}, path_info: ["sources", "32", "media", "3142000", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:33:44.026 [info] {"args":{"id":51},"id":419919,"meta":{},"system_time":1782740024025956308,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:33:44.026 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 08:33:44.026 [debug] QUERY OK source="settings" db=0.1ms idle=406.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:44.027 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 08:33:44.027 [info] {"args":{"id":1012059},"id":419872,"meta":{},"system_time":1782740024027673047,"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"]} 08:33:44.027 [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 [] 08:33:44.027 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 08:33:44.027 [debug] QUERY OK source="media_items" db=0.1ms idle=1.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1012059] 08:33:44.028 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:33:44.028 [debug] QUERY OK source="sources" db=0.1ms idle=1.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:33:44.028 [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] 08:33:44.028 [debug] QUERY OK source="media_items" db=0.1ms idle=1.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1012059] 08:33:44.029 [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" = ?) [1012059] 08:33:44.029 [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] 08:33:44.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 [] 08:33:44.030 [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 [] 08:33:44.030 [debug] Running yt-dlp command for action: get_downloadable_status 08:33:44.031 [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 [] 08:33:44.031 [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 [] 08:33:44.031 [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 [] 08:33:44.031 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fd/f3/fdf377ae33018fb820d225d9ef1123e0b8bac7d856d5bf8938b1f8ee38d1fc69.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:33:44.661 [debug] Media ids fetched from RSS: ["vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 08:33:44.662 [debug] QUERY OK source="media_items" db=0.3ms idle=632.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0", "6Lxk9NMeWHg", "7Opkmr7kAAk", "kul0z3OTmVM", "Kdpfhj3VM04"] 08:33:44.663 [debug] QUERY OK source="media_items" db=0.3ms idle=632.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")))) [51] 08:33:44.664 [debug] QUERY OK source="tasks" db=0.1ms idle=632.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419933, 51, ~U[2026-06-29 13:33:44Z], ~U[2026-06-29 13:33:44Z]] 08:33:44.664 [info] {"args":{"id":51},"id":419919,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":638404,"event":"job:stop","queue_time":27043,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:33:46.206 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=o5I0ERaiBWk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fd/f3/fdf377ae33018fb820d225d9ef1123e0b8bac7d856d5bf8938b1f8ee38d1fc69.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks. 08:33:46.206 [error] yt-dlp download error for media item #1012059: "ERROR: [youtube] o5I0ERaiBWk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 08:33:46.207 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012059},"id":419872,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2178894,"event":"job:exception","queue_time":265514,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:33:54.118 [info] {"source":"oban","duration":8443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:33:54.858 [info] GET /media/f7542201-3f29-4231-ba69-e246a7c84b97/stream 08:33:54.858 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "f7542201-3f29-4231-ba69-e246a7c84b97"} Pipelines: [:maybe_basic_auth] 08:33:54.858 [info] GET /sources/57/media/3126428/force_download 08:33:54.859 [debug] QUERY OK source="settings" db=0.1ms idle=1238.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:54.859 [debug] QUERY OK source="settings" db=0.1ms idle=823.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:54.859 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:33:54.859 [debug] QUERY OK source="media_items" db=0.5ms idle=1238.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["f7542201-3f29-4231-ba69-e246a7c84b97"] 08:33:54.859 [debug] Invalid range request for media item: f7542201-3f29-4231-ba69-e246a7c84b97 - serving full file 08:33:54.859 [info] Sent 200 in 1ms 08:33:54.859 [error] #PID<0.1180208.0> running PinchflatWeb.Endpoint (connection #PID<0.1180206.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/3126428/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/3126428/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180206.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3126428/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 38378}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180208.0>, params: %{}, path_info: ["sources", "57", "media", "3126428", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/3126428/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2Qncih1cOZSC0CQqhB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180206.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3126428/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 38378}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/media/3126428/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180206.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3126428/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 38378}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180208.0>, params: %{}, path_info: ["sources", "57", "media", "3126428", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:33:55.327 [info] GET /sources/43/media/3231948/force_download 08:33:55.328 [debug] QUERY OK source="settings" db=0.2ms idle=707.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:55.328 [debug] QUERY OK source="settings" db=0.0ms idle=468.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:55.328 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:33:55.328 [error] #PID<0.1180210.0> running PinchflatWeb.Endpoint (connection #PID<0.1180206.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3231948/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/3231948/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180206.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3231948/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 38378}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180210.0>, params: %{}, path_info: ["sources", "43", "media", "3231948", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3231948/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QneSRJQOo1joCQqiB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180206.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3231948/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 38378}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/43/media/3231948/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180206.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3231948/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 38378}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180210.0>, params: %{}, path_info: ["sources", "43", "media", "3231948", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:33:56.807 [info] GET /sources/52/media/2430086/force_download 08:33:56.808 [debug] QUERY OK source="settings" db=0.1ms idle=767.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:56.808 [debug] QUERY OK source="settings" db=0.0ms idle=187.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:33:56.808 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:33:56.808 [error] #PID<0.1180211.0> running PinchflatWeb.Endpoint (connection #PID<0.1180206.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/2430086/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/2430086/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180206.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2430086/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 38378}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180211.0>, params: %{}, path_info: ["sources", "52", "media", "2430086", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/2430086/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QnjzMLxdR8VECQqjB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180206.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2430086/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 38378}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/52/media/2430086/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180206.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2430086/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 38378}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180211.0>, params: %{}, path_info: ["sources", "52", "media", "2430086", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:34:00.216 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:34:02.041 [info] GET /media/eaf76ac7-ea01-429f-a5f5-b4d18694ff29/stream 08:34:02.041 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "eaf76ac7-ea01-429f-a5f5-b4d18694ff29"} Pipelines: [:maybe_basic_auth] 08:34:02.042 [debug] QUERY OK source="media_items" db=0.8ms idle=1411.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["eaf76ac7-ea01-429f-a5f5-b4d18694ff29"] 08:34:02.042 [debug] Invalid range request for media item: eaf76ac7-ea01-429f-a5f5-b4d18694ff29 - serving full file 08:34:02.042 [info] Sent 200 in 1ms 08:34:24.127 [info] {"source":"oban","duration":8299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:35.835 [info] GET /media/20efdf7c-d855-4168-9125-4334145b33e3/stream 08:34:35.836 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "20efdf7c-d855-4168-9125-4334145b33e3"} Pipelines: [:maybe_basic_auth] 08:34:35.837 [debug] QUERY OK source="media_items" db=0.9ms idle=1959.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["20efdf7c-d855-4168-9125-4334145b33e3"] 08:34:35.837 [debug] Invalid range request for media item: 20efdf7c-d855-4168-9125-4334145b33e3 - serving full file 08:34:35.837 [info] Sent 200 in 1ms 08:34:36.001 [info] GET /media/ec07b192-102d-497f-b211-7074125bbaf0/stream 08:34:36.001 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "ec07b192-102d-497f-b211-7074125bbaf0"} Pipelines: [:maybe_basic_auth] 08:34:36.002 [debug] QUERY OK source="media_items" db=0.5ms idle=1125.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["ec07b192-102d-497f-b211-7074125bbaf0"] 08:34:36.002 [debug] Invalid range request for media item: ec07b192-102d-497f-b211-7074125bbaf0 - serving full file 08:34:36.002 [info] Sent 200 in 1ms 08:34:52.560 [info] GET /media/bb2b8cc6-8036-4723-9458-fbf73304f392/stream 08:34:52.560 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "bb2b8cc6-8036-4723-9458-fbf73304f392"} Pipelines: [:maybe_basic_auth] 08:34:52.560 [info] GET /media/348069b6-35be-4926-a608-6e9ccd0c24b1/stream 08:34:52.560 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "348069b6-35be-4926-a608-6e9ccd0c24b1"} Pipelines: [:maybe_basic_auth] 08:34:52.561 [debug] QUERY OK source="media_items" db=0.8ms idle=1683.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["bb2b8cc6-8036-4723-9458-fbf73304f392"] 08:34:52.561 [debug] QUERY OK source="media_items" db=0.7ms idle=936.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["348069b6-35be-4926-a608-6e9ccd0c24b1"] 08:34:52.561 [debug] Invalid range request for media item: bb2b8cc6-8036-4723-9458-fbf73304f392 - serving full file 08:34:52.561 [debug] Invalid range request for media item: 348069b6-35be-4926-a608-6e9ccd0c24b1 - serving full file 08:34:52.561 [info] Sent 200 in 1ms 08:34:52.561 [info] Sent 200 in 1ms 08:34:54.135 [info] {"source":"oban","duration":7358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:59.464 [info] GET /sources/57/media/2499770 08:34:59.464 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2499770", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 08:34:59.465 [debug] QUERY OK source="media_items" db=0.1ms idle=1255.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" = ?) [2499770] 08:34:59.465 [debug] QUERY OK source="tasks" db=0.1ms idle=1256.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2499770] 08:34:59.465 [debug] QUERY OK source="sources" db=0.1ms idle=1250.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:34:59.465 [debug] QUERY OK source="settings" db=0.0ms idle=256.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:34:59.466 [debug] QUERY OK source="settings" db=0.0ms idle=249.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:34:59.466 [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 [] 08:34:59.466 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:34:59.467 [info] Sent 200 in 2ms 08:34:59.841 [info] GET /sources/32/media/3032712 08:34:59.841 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3032712", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 08:34:59.842 [debug] QUERY OK source="media_items" db=0.5ms idle=376.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" = ?) [3032712] 08:34:59.843 [debug] QUERY OK source="tasks" db=0.2ms idle=376.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3032712] 08:34:59.843 [debug] QUERY OK source="sources" db=0.2ms idle=376.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:34:59.843 [debug] QUERY OK source="settings" db=0.0ms idle=376.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:34:59.843 [debug] QUERY OK source="settings" db=0.0ms idle=376.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:34:59.843 [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 [] 08:34:59.844 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:34:59.845 [info] Sent 200 in 3ms 08:35:00.217 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:35:00.350 [info] GET /sources/30/media/2999738 08:35:00.351 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2999738", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 08:35:00.351 [debug] QUERY OK source="media_items" db=0.2ms idle=507.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" = ?) [2999738] 08:35:00.351 [debug] QUERY OK source="tasks" db=0.0ms idle=508.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2999738] 08:35:00.352 [debug] QUERY OK source="sources" db=0.2ms idle=507.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:35:00.352 [debug] QUERY OK source="settings" db=0.0ms idle=135.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:00.352 [debug] QUERY OK source="settings" db=0.0ms idle=134.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:00.352 [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 [] 08:35:00.353 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:00.354 [info] Sent 200 in 3ms 08:35:00.853 [info] GET /sources/55/media/2962708 08:35:00.853 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2962708", "prevent_download" => "true", "source_id" => "55"} Pipelines: [:browser] 08:35:00.853 [debug] QUERY OK source="media_items" db=0.1ms idle=501.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2962708] 08:35:00.854 [debug] QUERY OK source="tasks" db=0.1ms idle=501.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2962708] 08:35:00.854 [debug] QUERY OK source="sources" db=0.2ms idle=501.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:35:00.854 [debug] QUERY OK source="settings" db=0.0ms idle=501.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:00.854 [debug] QUERY OK source="settings" db=0.0ms idle=501.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:00.855 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:00.855 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:00.856 [info] Sent 200 in 3ms 08:35:01.355 [info] GET /sources/9/media/2984780 08:35:01.355 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2984780", "prevent_download" => "true", "source_id" => "9"} Pipelines: [:browser] 08:35:01.356 [debug] QUERY OK source="media_items" db=0.2ms idle=501.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" = ?) [2984780] 08:35:01.356 [debug] QUERY OK source="tasks" db=0.0ms idle=501.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2984780] 08:35:01.357 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 08:35:01.357 [debug] QUERY OK source="settings" db=0.1ms idle=501.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:01.357 [debug] QUERY OK source="settings" db=0.0ms idle=137.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:01.357 [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 [] 08:35:01.358 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:01.359 [info] Sent 200 in 3ms 08:35:01.859 [info] GET /sources/55/media/3236796 08:35:01.859 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3236796", "prevent_download" => "true", "source_id" => "55"} Pipelines: [:browser] 08:35:01.860 [debug] QUERY OK source="media_items" db=0.2ms idle=502.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" = ?) [3236796] 08:35:01.860 [debug] QUERY OK source="tasks" db=0.1ms idle=502.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3236796] 08:35:01.860 [debug] QUERY OK source="sources" db=0.2ms idle=502.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 08:35:01.860 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=502.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [399281, 401860] 08:35:01.861 [debug] QUERY OK source="settings" db=0.0ms idle=502.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:01.861 [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 [] 08:35:01.861 [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 [] 08:35:01.862 [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] 08:35:01.863 [info] Sent 200 in 3ms 08:35:02.366 [info] GET /sources/55/media/3071593 08:35:02.366 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3071593", "prevent_download" => "true", "source_id" => "55"} Pipelines: [:browser] 08:35:02.366 [debug] QUERY OK source="media_items" db=0.1ms idle=505.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" = ?) [3071593] 08:35:02.367 [debug] QUERY OK source="tasks" db=0.0ms idle=505.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3071593] 08:35:02.367 [debug] QUERY OK source="sources" db=0.1ms idle=505.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:35:02.368 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=505.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" = ?) [357152] 08:35:02.368 [debug] QUERY OK source="settings" db=0.0ms idle=146.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:02.368 [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 [] 08:35:02.368 [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 [] 08:35:02.369 [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] 08:35:02.370 [info] Sent 200 in 4ms 08:35:02.674 [info] GET /sources/30/media/3258286 08:35:02.674 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3258286", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 08:35:02.674 [debug] QUERY OK source="media_items" db=0.2ms idle=306.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" = ?) [3258286] 08:35:02.675 [debug] QUERY OK source="tasks" db=0.2ms idle=306.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3258286] 08:35:02.675 [debug] QUERY OK source="sources" db=0.2ms idle=306.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:35:02.675 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=306.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [405520, 408226] 08:35:02.675 [debug] QUERY OK source="settings" db=0.0ms idle=306.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:02.675 [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 [] 08:35:02.676 [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 [] 08:35:02.676 [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] 08:35:02.677 [info] Sent 200 in 3ms 08:35:02.978 [info] GET /sources/57/media/3095309 08:35:02.979 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3095309", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 08:35:02.979 [debug] QUERY OK source="media_items" db=0.1ms idle=303.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" = ?) [3095309] 08:35:02.979 [debug] QUERY OK source="tasks" db=0.1ms idle=303.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3095309] 08:35:02.979 [debug] QUERY OK source="sources" db=0.2ms idle=303.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:35:02.980 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=303.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [361439, 363729] 08:35:02.980 [debug] QUERY OK source="settings" db=0.0ms idle=303.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:02.980 [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 [] 08:35:02.980 [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 [] 08:35:02.981 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:02.982 [info] Sent 200 in 3ms 08:35:03.279 [info] GET /sources/43/media/2913170 08:35:03.279 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2913170", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 08:35:03.279 [debug] QUERY OK source="media_items" db=0.1ms idle=299.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" = ?) [2913170] 08:35:03.280 [debug] QUERY OK source="tasks" db=0.0ms idle=299.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2913170] 08:35:03.280 [debug] QUERY OK source="sources" db=0.1ms idle=299.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:35:03.280 [debug] QUERY OK source="settings" db=0.0ms idle=299.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:03.280 [debug] QUERY OK source="settings" db=0.0ms idle=56.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:03.280 [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 [] 08:35:03.281 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:03.282 [info] Sent 200 in 2ms 08:35:03.580 [info] GET /sources/32/media/2986116 08:35:03.581 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2986116", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 08:35:03.581 [debug] QUERY OK source="media_items" db=0.1ms idle=301.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" = ?) [2986116] 08:35:03.581 [debug] QUERY OK source="tasks" db=0.1ms idle=301.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2986116] 08:35:03.581 [debug] QUERY OK source="sources" db=0.1ms idle=301.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 08:35:03.582 [debug] QUERY OK source="settings" db=0.0ms idle=301.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:03.582 [debug] QUERY OK source="settings" db=0.0ms idle=301.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:03.582 [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 [] 08:35:03.583 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:03.583 [info] Sent 200 in 2ms 08:35:03.882 [info] GET /sources/30/media/3281971 08:35:03.883 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3281971", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 08:35:03.883 [debug] QUERY OK source="media_items" db=0.1ms idle=301.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" = ?) [3281971] 08:35:03.883 [debug] QUERY OK source="tasks" db=0.1ms idle=301.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3281971] 08:35:03.883 [debug] QUERY OK source="sources" db=0.1ms idle=301.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:35:03.884 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=301.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [411252, 414323] 08:35:03.884 [debug] QUERY OK source="settings" db=0.0ms idle=301.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:03.884 [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 [] 08:35:03.884 [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 [] 08:35:03.885 [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] 08:35:03.886 [info] Sent 200 in 3ms 08:35:04.183 [info] GET /media/3dd343a1-8309-498b-9849-17601e038e22/stream 08:35:04.183 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "3dd343a1-8309-498b-9849-17601e038e22"} Pipelines: [:maybe_basic_auth] 08:35:04.183 [debug] QUERY OK source="media_items" db=0.2ms idle=299.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["3dd343a1-8309-498b-9849-17601e038e22"] 08:35:04.183 [debug] Invalid range request for media item: 3dd343a1-8309-498b-9849-17601e038e22 - serving full file 08:35:04.183 [info] Sent 200 in 661µs 08:35:04.658 [info] GET /sources/32/media/3087232 08:35:04.658 [info] GET /media/2254d5d9-4689-420f-b926-9cfcb7a9a814/stream 08:35:04.658 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3087232", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 08:35:04.658 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "2254d5d9-4689-420f-b926-9cfcb7a9a814"} Pipelines: [:maybe_basic_auth] 08:35:04.659 [debug] QUERY OK source="media_items" db=0.5ms idle=774.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" = ?) [3087232] 08:35:04.659 [debug] QUERY OK source="media_items" db=0.5ms idle=774.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["2254d5d9-4689-420f-b926-9cfcb7a9a814"] 08:35:04.659 [debug] Invalid range request for media item: 2254d5d9-4689-420f-b926-9cfcb7a9a814 - serving full file 08:35:04.659 [info] Sent 200 in 1ms 08:35:04.659 [debug] QUERY OK source="tasks" db=0.3ms idle=774.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3087232] 08:35:04.660 [debug] QUERY OK source="sources" db=0.4ms idle=475.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:35:04.660 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=0.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [359158, 361711] 08:35:04.660 [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 [] 08:35:04.660 [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 [] 08:35:04.661 [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 [] 08:35:04.661 [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] 08:35:04.662 [info] Sent 200 in 4ms 08:35:04.813 [info] GET /sources/30/media/3054066/force_download 08:35:04.814 [debug] QUERY OK source="settings" db=0.1ms idle=153.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:04.814 [debug] QUERY OK source="settings" db=0.1ms idle=153.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:04.814 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:04.814 [error] #PID<0.1180278.0> running PinchflatWeb.Endpoint (connection #PID<0.1180280.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3054066/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3054066/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3054066/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180278.0>, params: %{}, path_info: ["sources", "30", "media", "3054066", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3054066/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QrhJHiyDeAMUCQrCB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3054066/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/30/media/3054066/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3054066/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180278.0>, params: %{}, path_info: ["sources", "30", "media", "3054066", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:35:04.950 [info] GET /sources/57/media/3071726/force_download 08:35:04.950 [debug] QUERY OK source="settings" db=0.1ms idle=289.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:04.951 [debug] QUERY OK source="settings" db=0.0ms idle=289.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:04.951 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:04.951 [error] #PID<0.1180287.0> running PinchflatWeb.Endpoint (connection #PID<0.1180280.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/57/media/3071726/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/57/media/3071726/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3071726/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180287.0>, params: %{}, path_info: ["sources", "57", "media", "3071726", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/57/media/3071726/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QrhppfKSJpigCQrDB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3071726/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/57/media/3071726/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/57/media/3071726/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180287.0>, params: %{}, path_info: ["sources", "57", "media", "3071726", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:35:05.158 [info] GET /sources/9/media/3038996/force_download 08:35:05.158 [debug] QUERY OK source="settings" db=0.1ms idle=497.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:05.159 [debug] QUERY OK source="settings" db=0.0ms idle=344.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:05.159 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:05.159 [error] #PID<0.1180288.0> running PinchflatWeb.Endpoint (connection #PID<0.1180280.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/9/media/3038996/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/9/media/3038996/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/3038996/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180288.0>, params: %{}, path_info: ["sources", "9", "media", "3038996", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/9/media/3038996/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QribPKIxETMECQrEB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/3038996/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/9/media/3038996/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/media/3038996/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180288.0>, params: %{}, path_info: ["sources", "9", "media", "3038996", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", (truncated) 08:35:05.411 [info] GET /sources/30/media/3258286/force_download 08:35:05.412 [debug] QUERY OK source="settings" db=0.2ms idle=597.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:05.412 [debug] QUERY OK source="settings" db=0.0ms idle=461.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:05.412 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:05.412 [error] #PID<0.1180283.0> running PinchflatWeb.Endpoint (connection #PID<0.1180280.0>, stream id 5) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3258286/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3258286/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3258286/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180283.0>, params: %{}, path_info: ["sources", "30", "media", "3258286", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3258286/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QrjXpYnaqwsICQrFB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3258286/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/30/media/3258286/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3258286/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180283.0>, params: %{}, path_info: ["sources", "30", "media", "3258286", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:35:05.660 [info] GET /sources/52/media/2407712/force_download 08:35:05.660 [debug] QUERY OK source="settings" db=0.3ms idle=501.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:05.661 [debug] QUERY OK source="settings" db=0.2ms 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 [] 08:35:05.661 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:05.661 [error] #PID<0.1180290.0> running PinchflatWeb.Endpoint (connection #PID<0.1180280.0>, stream id 6) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/2407712/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/2407712/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2407712/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180290.0>, params: %{}, path_info: ["sources", "52", "media", "2407712", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/2407712/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QrkS3c8ly8PcBdQuC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2407712/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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 /sources/52/media/2407712/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/2407712/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180290.0>, params: %{}, path_info: ["sources", "52", "media", "2407712", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:35:05.887 [info] GET /sources/52/media/3227315/force_download 08:35:05.887 [debug] QUERY OK source="settings" db=0.1ms idle=475.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:05.887 [debug] QUERY OK source="settings" db=0.0ms idle=475.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:05.887 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:05.888 [error] #PID<0.1180291.0> running PinchflatWeb.Endpoint (connection #PID<0.1180280.0>, stream id 7) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/media/3227315/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/3227315/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3227315/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180291.0>, params: %{}, path_info: ["sources", "52", "media", "3227315", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/media/3227315/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QrlI_rFzATwcBdQvC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3227315/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/52/media/3227315/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/media/3227315/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180291.0>, params: %{}, path_info: ["sources", "52", "media", "3227315", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:35:06.968 [info] GET /sources/32/media/2986116/force_download 08:35:06.969 [debug] QUERY OK source="settings" db=0.2ms idle=1307.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:06.969 [info] GET /media/420a194b-ebda-4872-b017-e29f57e5e177/stream 08:35:06.969 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "420a194b-ebda-4872-b017-e29f57e5e177"} Pipelines: [:maybe_basic_auth] 08:35:06.969 [info] GET /sources/43/media/2913170/force_download 08:35:06.969 [debug] QUERY OK source="settings" db=0.1ms idle=1308.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:06.969 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:06.969 [debug] QUERY OK source="settings" db=0.1ms idle=1081.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:06.970 [debug] QUERY OK source="settings" db=0.1ms idle=306.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:06.970 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:06.970 [debug] QUERY OK source="media_items" db=0.4ms idle=1082.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["420a194b-ebda-4872-b017-e29f57e5e177"] 08:35:06.970 [debug] Invalid range request for media item: 420a194b-ebda-4872-b017-e29f57e5e177 - serving full file 08:35:06.970 [info] Sent 200 in 844µs 08:35:06.969 [error] #PID<0.1180286.0> running PinchflatWeb.Endpoint (connection #PID<0.1180280.0>, stream id 8) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/2986116/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/32/media/2986116/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2986116/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180286.0>, params: %{}, path_info: ["sources", "32", "media", "2986116", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/2986116/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QrpK1yjPBjZUBdQwC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2986116/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/32/media/2986116/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180280.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/2986116/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54498}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180286.0>, params: %{}, path_info: ["sources", "32", "media", "2986116", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:35:06.970 [error] #PID<0.1180296.0> running PinchflatWeb.Endpoint (connection #PID<0.1180289.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/2913170/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/43/media/2913170/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180289.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2913170/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54516}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180296.0>, params: %{}, path_info: ["sources", "43", "media", "2913170", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/2913170/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QrpLDbL3xFQQBdQxC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180289.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2913170/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54516}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/43/media/2913170/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180289.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/2913170/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 54516}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180296.0>, params: %{}, path_info: ["sources", "43", "media", "2913170", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarde (truncated) 08:35:07.072 [info] GET /media/455ef12b-ca23-482e-be2d-87c4c9fa1bb2/stream 08:35:07.072 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "455ef12b-ca23-482e-be2d-87c4c9fa1bb2"} Pipelines: [:maybe_basic_auth] 08:35:07.073 [debug] QUERY OK source="media_items" db=0.5ms idle=103.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["455ef12b-ca23-482e-be2d-87c4c9fa1bb2"] 08:35:07.073 [debug] Invalid range request for media item: 455ef12b-ca23-482e-be2d-87c4c9fa1bb2 - serving full file 08:35:07.073 [info] Sent 200 in 1ms 08:35:24.143 [info] {"source":"oban","duration":7714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:26.490 [info] GET /sources/57/media/2986477 08:35:26.490 [info] GET /sources/30/media/3242381 08:35:26.490 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3242381", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 08:35:26.490 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2986477", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 08:35:26.490 [info] GET /sources/43/media/3239878 08:35:26.490 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3239878", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 08:35:26.491 [debug] QUERY OK source="media_items" db=0.5ms idle=1537.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" = ?) [3242381] 08:35:26.491 [debug] QUERY OK source="media_items" db=0.5ms idle=1537.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" = ?) [2986477] 08:35:26.491 [debug] QUERY OK source="media_items" db=0.4ms idle=1511.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" = ?) [3239878] 08:35:26.492 [debug] QUERY OK source="tasks" db=0.4ms idle=0.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3239878] 08:35:26.492 [debug] QUERY OK source="tasks" db=0.5ms idle=538.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2986477] 08:35:26.492 [debug] QUERY OK source="tasks" db=0.6ms idle=510.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3242381] 08:35:26.492 [debug] QUERY OK source="sources" db=0.7ms idle=0.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 08:35:26.492 [debug] QUERY OK source="sources" db=0.8ms idle=0.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:35:26.492 [debug] QUERY OK source="sources" db=0.2ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:35:26.492 [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 [] 08:35:26.493 [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 [] 08:35:26.493 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=0.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [400217, 404142] 08:35:26.493 [debug] QUERY OK source="oban_jobs" db=1.0ms idle=0.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [401021, 404143] 08:35:26.493 [debug] QUERY OK source="settings" db=0.2ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:26.493 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:26.493 [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 [] 08:35:26.494 [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 [] 08:35:26.494 [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 [] 08:35:26.494 [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 [] 08:35:26.494 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:26.494 [debug] QUERY OK source="settings" db=0.3ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:26.494 [debug] QUERY OK source="media_profiles" db=0.0ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:26.495 [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] 08:35:26.495 [info] Sent 200 in 5ms 08:35:26.496 [info] Sent 200 in 5ms 08:35:26.496 [info] Sent 200 in 5ms 08:35:26.820 [info] GET /sources/32/media/3252564 08:35:26.820 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3252564", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 08:35:26.821 [debug] QUERY OK source="media_items" db=0.2ms idle=326.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" = ?) [3252564] 08:35:26.821 [debug] QUERY OK source="tasks" db=0.1ms idle=326.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3252564] 08:35:26.821 [debug] QUERY OK source="sources" db=0.1ms idle=326.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:35:26.822 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=327.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [403870, 406324] 08:35:26.822 [debug] QUERY OK source="settings" db=0.0ms idle=327.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:26.822 [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 [] 08:35:26.822 [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 [] 08:35:26.823 [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] 08:35:26.824 [info] Sent 200 in 3ms 08:35:27.386 [info] GET /sources/32/media/3197184 08:35:27.386 [info] GET /sources/52/media/3273738 08:35:27.386 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3273738", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 08:35:27.386 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3197184", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 08:35:27.386 [debug] QUERY OK source="media_items" db=0.2ms idle=564.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" = ?) [3197184] 08:35:27.387 [debug] QUERY OK source="media_items" db=0.4ms idle=564.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" = ?) [3273738] 08:35:27.458 [debug] QUERY OK source="tasks" db=0.5ms queue=70.7ms idle=405.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3273738] 08:35:27.458 [debug] QUERY OK source="tasks" db=0.7ms queue=70.8ms idle=564.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3197184] 08:35:27.458 [debug] QUERY OK source="sources" db=0.7ms queue=70.8ms idle=563.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:35:27.458 [debug] QUERY OK source="sources" db=0.7ms queue=70.7ms idle=0.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:27.459 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=0.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [409268, 412080] 08:35:27.459 [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 [] 08:35:27.459 [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 [] 08:35:27.460 [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 [] 08:35:27.460 [debug] QUERY OK source="oban_jobs" db=1.1ms idle=71.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [388998, 391553] 08:35:27.460 [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 [] 08:35:27.460 [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 [] 08:35:27.460 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:27.460 [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 [] 08:35:27.461 [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] 08:35:27.461 [info] Sent 200 in 75ms 08:35:27.462 [info] Sent 200 in 75ms 08:35:28.010 [info] GET /sources/30/media/3226631 08:35:28.010 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3226631", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 08:35:28.010 [info] GET /sources/52/media/2430086 08:35:28.010 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2430086", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 08:35:28.010 [debug] QUERY OK source="media_items" db=0.4ms idle=549.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" = ?) [2430086] 08:35:28.010 [debug] QUERY OK source="media_items" db=0.5ms idle=549.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" = ?) [3226631] 08:35:28.011 [debug] QUERY OK source="tasks" db=0.2ms idle=550.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3226631] 08:35:28.011 [debug] QUERY OK source="tasks" db=0.3ms idle=550.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2430086] 08:35:28.011 [debug] QUERY OK source="sources" db=0.5ms idle=28.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:35:28.011 [debug] QUERY OK source="sources" db=0.5ms idle=0.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:28.012 [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 [] 08:35:28.012 [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 [] 08:35:28.012 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=0.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [396393, 399552] 08:35:28.012 [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 [] 08:35:28.012 [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 [] 08:35:28.012 [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 [] 08:35:28.013 [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] 08:35:28.013 [debug] QUERY OK source="settings" db=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:28.013 [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] 08:35:28.013 [info] Sent 200 in 3ms 08:35:28.014 [info] Sent 200 in 4ms 08:35:28.570 [info] GET /sources/30/media/3054066 08:35:28.570 [info] GET /sources/57/media/3126428 08:35:28.570 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3054066", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 08:35:28.570 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3126428", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 08:35:28.571 [debug] QUERY OK source="media_items" db=0.5ms idle=558.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" = ?) [3126428] 08:35:28.571 [debug] QUERY OK source="media_items" db=0.6ms idle=558.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" = ?) [3054066] 08:35:28.572 [debug] QUERY OK source="tasks" db=0.3ms idle=558.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3126428] 08:35:28.572 [debug] QUERY OK source="tasks" db=0.4ms idle=558.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3054066] 08:35:28.572 [debug] QUERY OK source="sources" db=0.5ms idle=558.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:35:28.572 [debug] QUERY OK source="sources" db=0.5ms 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] 08:35:28.572 [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 [] 08:35:28.573 [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 [] 08:35:28.573 [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 [] 08:35:28.573 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:28.574 [debug] QUERY OK source="oban_jobs" db=1.3ms idle=0.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [369635, 372232] 08:35:28.574 [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 [] 08:35:28.574 [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 [] 08:35:28.574 [info] Sent 200 in 3ms 08:35:28.574 [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 [] 08:35:28.575 [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] 08:35:28.576 [info] Sent 200 in 5ms 08:35:29.133 [info] GET /sources/57/media/2390121 08:35:29.133 [info] GET /sources/52/media/3284990 08:35:29.133 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3284990", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 08:35:29.133 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2390121", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 08:35:29.133 [info] GET /sources/43/media/3231948 08:35:29.133 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3231948", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 08:35:29.134 [debug] QUERY OK source="media_items" db=0.5ms idle=559.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" = ?) [3284990] 08:35:29.134 [debug] QUERY OK source="media_items" db=0.5ms idle=558.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" = ?) [2390121] 08:35:29.134 [debug] QUERY OK source="media_items" db=0.4ms idle=558.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" = ?) [3231948] 08:35:29.134 [debug] QUERY OK source="tasks" db=0.4ms idle=559.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2390121] 08:35:29.134 [debug] QUERY OK source="tasks" db=0.4ms idle=0.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3231948] 08:35:29.134 [debug] QUERY OK source="tasks" db=0.5ms idle=150.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3284990] 08:35:29.135 [debug] QUERY OK source="sources" db=0.8ms idle=0.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 08:35:29.135 [debug] QUERY OK source="sources" db=0.4ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:35:29.135 [debug] QUERY OK source="sources" db=0.9ms idle=0.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:29.135 [debug] QUERY OK source="settings" db=0.3ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:29.135 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=0.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [397867] 08:35:29.135 [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 [] 08:35:29.136 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:29.136 [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 [] 08:35:29.136 [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 [] 08:35:29.136 [debug] QUERY OK source="oban_jobs" db=1.0ms idle=0.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [411978, 412009, 412027, 412045, 412060, 412076, 412098, 412115, 412132, 412147, 412164, 412180, 412195, 412213, 412231, 412246, 412262, 412278, 412293, 412313, 416591] 08:35:29.136 [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 [] 08:35:29.136 [debug] QUERY OK source="media_profiles" db=0.1ms idle=0.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:29.137 [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 [] 08:35:29.137 [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 [] 08:35:29.137 [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] 08:35:29.137 [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 [] 08:35:29.137 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:29.137 [info] Sent 200 in 4ms 08:35:29.138 [info] Sent 200 in 5ms 08:35:29.140 [info] Sent 200 in 7ms 08:35:29.170 [info] GET /sources/57/media/2902029 08:35:29.170 [info] GET /sources/55/media/3292181 08:35:29.170 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2902029", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 08:35:29.170 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3292181", "prevent_download" => "true", "source_id" => "55"} Pipelines: [:browser] 08:35:29.171 [debug] QUERY OK source="media_items" db=0.3ms idle=33.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" = ?) [3292181] 08:35:29.171 [debug] QUERY OK source="media_items" db=0.4ms idle=33.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" = ?) [2902029] 08:35:29.171 [debug] QUERY OK source="tasks" db=0.1ms idle=34.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3292181] 08:35:29.171 [debug] QUERY OK source="sources" db=0.4ms 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] 08:35:29.171 [debug] QUERY OK source="sources" db=0.5ms idle=0.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 08:35:29.172 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=0.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [414070, 416593] 08:35:29.172 [debug] QUERY OK source="tasks" db=0.9ms idle=34.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2902029] 08:35:29.172 [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 [] 08:35:29.172 [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 [] 08:35:29.173 [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 [] 08:35:29.173 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:29.174 [debug] QUERY OK source="oban_jobs" db=1.6ms idle=0.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [359177, 359188, 361441, 361451, 363454, 363464, 365446, 365456, 367345, 367356, 369637, 369648, 371951, 371962, 374254, 374264, 376518, 376528, 378371, 378381, 380201, 380211, 382154, 382164, 384429, 384439, 386736, 386747, 389018, 389028, 391291, 391301, 393172, 393181, 395072, 395083, 396963, 396984, 399283, 399292, 401606, 401615, 403887, 403896, 406080, 406090, 407967, 407976, 409962, 409971, ...] 08:35:29.174 [info] Sent 200 in 4ms 08:35:29.175 [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 [] 08:35:29.175 [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 [] 08:35:29.175 [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 [] 08:35:29.176 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:29.180 [info] Sent 200 in 10ms 08:35:30.995 [info] {"args":{"id":52},"id":419932,"meta":{},"system_time":1782740130994983367,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:35:30.995 [debug] QUERY OK source="sources" db=0.2ms idle=16.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:30.996 [debug] QUERY OK source="settings" db=0.6ms idle=16.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:30.996 [debug] QUERY OK source="media_profiles" db=0.6ms idle=17.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:30.997 [debug] QUERY OK source="settings" db=0.5ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:30.997 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 08:35:31.123 [debug] Media ids fetched from RSS: ["ZTNyTK0BQ9Q", "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg"] 08:35:31.124 [debug] QUERY OK source="media_items" db=0.4ms idle=129.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "ZTNyTK0BQ9Q", "HnL77t4IsBY", "szJjj21VhXU", "W9SWtl_Iz-s", "vjdmLcDExwA", "rvLhvCtJV6w", "slPfYG6kKwQ", "8xaRM1kuIp0", "_vd6RrtII7o", "H9SOND0XA1M", "tphqW_xNPPA", "OPRFKWqnJ7c", "mllsz3TvD_E", "FVBmIxQ9LCQ", "FssFdJFCetg"] 08:35:31.125 [debug] QUERY OK source="media_items" db=0.7ms idle=129.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")))) [52] 08:35:31.128 [debug] QUERY OK source="tasks" db=0.2ms idle=130.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419934, 1301334, ~U[2026-06-29 13:35:31Z], ~U[2026-06-29 13:35:31Z]] 08:35:31.131 [debug] QUERY OK source="tasks" db=0.2ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419935, 1301335, ~U[2026-06-29 13:35:31Z], ~U[2026-06-29 13:35:31Z]] 08:35:31.133 [debug] QUERY OK source="tasks" db=0.2ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419936, 1301347, ~U[2026-06-29 13:35:31Z], ~U[2026-06-29 13:35:31Z]] 08:35:31.135 [info] {"args":{"id":1301334},"id":419934,"meta":{},"system_time":1782740131135621320,"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"]} 08:35:31.135 [info] {"args":{"id":1301335},"id":419935,"meta":{},"system_time":1782740131135660126,"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"]} 08:35:31.136 [debug] QUERY OK source="media_items" db=0.5ms 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 WHERE (m0."id" = ?) [1301335] 08:35:31.136 [debug] QUERY OK source="media_items" db=0.8ms 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" = ?) [1301334] 08:35:31.136 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:35:31.136 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:35:31.137 [debug] QUERY OK source="sources" db=0.4ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:31.137 [debug] QUERY OK source="sources" db=0.5ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:31.137 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:31.138 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 08:35:31.138 [debug] QUERY OK source="media_items" db=0.6ms 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 [1301335] 08:35:31.138 [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 [1301334] 08:35:31.139 [debug] QUERY OK source="tasks" db=0.4ms idle=0.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419937, 1301392, ~U[2026-06-29 13:35:31Z], ~U[2026-06-29 13:35:31Z]] 08:35:31.140 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301335] 08:35:31.140 [debug] QUERY OK source="media_metadata" db=0.2ms 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" = ?) [1301334] 08:35:31.140 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 08:35:31.141 [debug] QUERY OK source="media_profiles" db=1.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] 08:35:31.142 [debug] QUERY OK source="settings" db=0.3ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.142 [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 [] 08:35:31.142 [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 [] 08:35:31.142 [debug] QUERY OK source="settings" db=0.4ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.142 [debug] QUERY OK source="tasks" db=0.3ms idle=0.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419938, 1301393, ~U[2026-06-29 13:35:31Z], ~U[2026-06-29 13:35:31Z]] 08:35:31.142 [debug] Running yt-dlp command for action: get_downloadable_status 08:35:31.143 [debug] Running yt-dlp command for action: get_downloadable_status 08:35:31.143 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.144 [debug] QUERY OK source="settings" db=0.2ms 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 [] 08:35:31.144 [debug] QUERY OK source="settings" db=0.2ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.144 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/a5/dda55e261aa46295c614e58f94418965495d261ffbbaad70c0131bbdddb022de.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:35:31.144 [debug] QUERY OK source="settings" db=0.2ms 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 [] 08:35:31.145 [debug] QUERY OK source="settings" db=0.2ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.145 [debug] QUERY OK source="settings" db=0.2ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.145 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d4/48/d44887d156393df4bde7e83be32d87066b19432c0c0066452301ef964007d327.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:35:31.146 [debug] QUERY OK source="tasks" db=0.1ms idle=1.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419939, 1301394, ~U[2026-06-29 13:35:31Z], ~U[2026-06-29 13:35:31Z]] 08:35:31.149 [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" [419940, 1301395, ~U[2026-06-29 13:35:31Z], ~U[2026-06-29 13:35:31Z]] 08:35:31.152 [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" [419941, 1301397, ~U[2026-06-29 13:35:31Z], ~U[2026-06-29 13:35:31Z]] 08:35:31.154 [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" [419942, 1301398, ~U[2026-06-29 13:35:31Z], ~U[2026-06-29 13:35:31Z]] 08:35:31.157 [debug] QUERY OK source="tasks" db=0.2ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419943, 1301399, ~U[2026-06-29 13:35:31Z], ~U[2026-06-29 13:35:31Z]] 08:35:31.161 [debug] QUERY OK source="tasks" db=0.2ms idle=4.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419944, 1301400, ~U[2026-06-29 13:35:31Z], ~U[2026-06-29 13:35:31Z]] 08:35:31.163 [debug] QUERY OK source="tasks" db=0.3ms idle=3.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419945, 2720968, ~U[2026-06-29 13:35:31Z], ~U[2026-06-29 13:35:31Z]] 08:35:31.164 [debug] QUERY OK source="tasks" db=0.2ms idle=1.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [419946, 52, ~U[2026-06-29 13:35:31Z], ~U[2026-06-29 13:35:31Z]] 08:35:31.165 [info] {"args":{"id":52},"id":419932,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":169972,"event":"job:stop","queue_time":709442,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 08:35:31.324 [info] GET /sources/43/media/3255584 08:35:31.325 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3255584", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 08:35:31.325 [info] GET /sources/57/media/3009690 08:35:31.325 [info] GET /sources/9/media/2969136 08:35:31.325 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3009690", "prevent_download" => "true", "source_id" => "57"} Pipelines: [:browser] 08:35:31.325 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2969136", "prevent_download" => "true", "source_id" => "9"} Pipelines: [:browser] 08:35:31.325 [info] GET /sources/43/media/3310881 08:35:31.325 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3310881", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 08:35:31.325 [debug] QUERY OK source="media_items" db=0.5ms idle=160.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" = ?) [3255584] 08:35:31.326 [debug] QUERY OK source="media_items" db=0.3ms idle=160.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" = ?) [3310881] 08:35:31.326 [debug] QUERY OK source="media_items" db=0.8ms idle=160.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" = ?) [3009690] 08:35:31.326 [debug] QUERY OK source="tasks" db=0.3ms idle=154.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3255584] 08:35:31.326 [debug] QUERY OK source="media_items" db=0.9ms idle=160.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" = ?) [2969136] 08:35:31.326 [debug] QUERY OK source="sources" db=0.7ms idle=0.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:35:31.327 [debug] QUERY OK source="tasks" db=0.6ms idle=0.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3310881] 08:35:31.327 [debug] QUERY OK source="tasks" db=0.6ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3009690] 08:35:31.327 [debug] QUERY OK source="sources" db=0.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 08:35:31.327 [debug] QUERY OK source="sources" db=0.6ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 08:35:31.327 [debug] QUERY OK source="tasks" db=0.4ms idle=0.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2969136] 08:35:31.327 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [404637] 08:35:31.327 [debug] QUERY OK source="sources" db=0.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 08:35:31.327 [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 [] 08:35:31.328 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=0.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [419499] 08:35:31.328 [debug] QUERY OK source="settings" db=0.3ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.328 [debug] QUERY OK source="settings" db=0.4ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.328 [debug] QUERY OK source="settings" db=0.3ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.328 [debug] QUERY OK source="settings" db=0.2ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.328 [debug] QUERY OK source="settings" db=0.3ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.328 [debug] QUERY OK source="settings" db=0.3ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.328 [debug] QUERY OK source="settings" db=0.2ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.329 [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 [] 08:35:31.329 [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 [] 08:35:31.329 [debug] QUERY OK source="settings" db=0.3ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.329 [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 [] 08:35:31.329 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 08:35:31.329 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 08:35:31.330 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 08:35:31.330 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:31.330 [info] Sent 200 in 5ms 08:35:31.330 [info] Sent 200 in 5ms 08:35:31.330 [info] Sent 200 in 6ms 08:35:31.331 [info] Sent 200 in 5ms 08:35:31.411 [info] GET /sources/52/media/3125226 08:35:31.411 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3125226", "prevent_download" => "true", "source_id" => "52"} Pipelines: [:browser] 08:35:31.412 [debug] QUERY OK source="media_items" db=0.1ms idle=82.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" = ?) [3125226] 08:35:31.412 [debug] QUERY OK source="sources" db=0.5ms idle=82.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:31.413 [debug] QUERY OK source="tasks" db=0.5ms idle=82.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3125226] 08:35:31.413 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=83.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [369360, 369388, 369405, 369420, 369437, 369453, 369470, 369486, 369504, 369519, 369536, 369551, 369568, 369586, 369607, 369631, 369672, 369688, 369707, 369723, 369739, 369755, 369773, 374527] 08:35:31.414 [debug] QUERY OK source="settings" db=0.0ms idle=83.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.414 [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 [] 08:35:31.414 [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 [] 08:35:31.415 [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] 08:35:31.417 [info] Sent 200 in 5ms 08:35:31.849 [info] GET /sources/30/media/3007355 08:35:31.849 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3007355", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 08:35:31.849 [debug] QUERY OK source="media_items" db=0.1ms idle=435.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" = ?) [3007355] 08:35:31.850 [debug] QUERY OK source="tasks" db=0.1ms idle=435.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3007355] 08:35:31.850 [debug] QUERY OK source="sources" db=0.1ms idle=435.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 08:35:31.850 [debug] QUERY OK source="settings" db=0.0ms idle=435.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.850 [debug] QUERY OK source="settings" db=0.1ms idle=435.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:31.851 [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 [] 08:35:31.851 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:31.852 [info] Sent 200 in 3ms 08:35:32.833 [info] GET /sources/19/edit 08:35:32.833 [info] GET /sources/57/edit 08:35:32.833 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "19"} Pipelines: [:browser] 08:35:32.833 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "57"} Pipelines: [:browser] 08:35:32.834 [debug] QUERY OK source="sources" db=0.4ms idle=982.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [19] 08:35:32.834 [debug] QUERY OK source="sources" db=0.5ms idle=983.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:35:32.834 [debug] QUERY OK source="media_profiles" db=0.2ms idle=983.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" [] 08:35:32.834 [debug] QUERY OK source="media_profiles" db=0.2ms idle=982.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" [] 08:35:32.835 [debug] QUERY OK source="settings" db=0.2ms idle=844.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:32.835 [debug] QUERY OK source="settings" db=0.3ms 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 [] 08:35:32.835 [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 [] 08:35:32.835 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:32.836 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:32.836 [debug] QUERY OK source="settings" db=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:32.837 [info] Sent 200 in 4ms 08:35:32.837 [info] Sent 200 in 4ms 08:35:32.924 [info] GET /sources/30/edit 08:35:32.924 [info] GET /sources/38/edit 08:35:32.925 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 08:35:32.925 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "38"} Pipelines: [:browser] 08:35:32.925 [info] GET /sources/22/edit 08:35:32.925 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "22"} Pipelines: [:browser] 08:35:32.926 [debug] QUERY OK source="sources" db=0.6ms idle=89.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:35:32.926 [debug] QUERY OK source="sources" db=0.5ms idle=89.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:35:32.926 [debug] QUERY OK source="sources" db=0.7ms idle=89.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 08:35:32.926 [debug] QUERY OK source="media_profiles" db=0.5ms idle=90.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 08:35:32.926 [debug] QUERY OK source="media_profiles" db=0.5ms idle=90.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" [] 08:35:32.926 [debug] QUERY OK source="media_profiles" db=0.5ms idle=0.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 08:35:32.927 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:32.927 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:32.927 [debug] QUERY OK source="settings" db=0.3ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:32.927 [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 [] 08:35:32.927 [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 [] 08:35:32.927 [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 [] 08:35:32.927 [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 [] 08:35:32.928 [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 [] 08:35:32.928 [debug] QUERY OK source="settings" db=0.5ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:32.929 [info] Sent 200 in 4ms 08:35:32.929 [info] Sent 200 in 4ms 08:35:32.930 [info] Sent 200 in 5ms 08:35:33.604 [info] GET /sources/52/edit 08:35:33.604 [info] GET /sources/new 08:35:33.605 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "52"} Pipelines: [:browser] 08:35:33.605 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 08:35:33.605 [debug] QUERY OK source="media_profiles" db=0.5ms idle=677.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" [] 08:35:33.605 [debug] QUERY OK source="sources" db=0.5ms idle=677.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:33.606 [debug] QUERY OK source="settings" db=0.1ms idle=677.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:33.606 [debug] QUERY OK source="media_profiles" db=0.2ms idle=677.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" [] 08:35:33.606 [debug] QUERY OK source="settings" db=0.0ms idle=614.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:33.606 [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 [] 08:35:33.606 [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 [] 08:35:33.606 [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 [] 08:35:33.607 [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 [] 08:35:33.607 [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 [] 08:35:33.607 [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 [] 08:35:33.608 [info] Sent 200 in 4ms 08:35:33.609 [info] Sent 200 in 4ms 08:35:33.909 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TS2wDVcFk4Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d4/48/d44887d156393df4bde7e83be32d87066b19432c0c0066452301ef964007d327.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:35:33.909 [error] yt-dlp download error for media item #1301335: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:33.909 [error] yt-dlp download will not be retried: "ERROR: [youtube] TS2wDVcFk4Q: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:33.909 [info] {"args":{"id":1301335},"id":419935,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2773786,"event":"job:stop","queue_time":134095,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:35:33.916 [info] {"args":{"id":1301347},"id":419936,"meta":{},"system_time":1782740133916647345,"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"]} 08:35:33.917 [debug] QUERY OK source="media_items" db=0.2ms idle=309.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" = ?) [1301347] 08:35:33.917 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:35:33.917 [debug] QUERY OK source="sources" db=0.1ms idle=310.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:33.917 [debug] QUERY OK source="media_profiles" db=0.1ms idle=310.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:33.918 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301347] 08:35:33.918 [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" = ?) [1301347] 08:35:33.918 [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] 08:35:33.919 [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 [] 08:35:33.919 [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 [] 08:35:33.919 [debug] Running yt-dlp command for action: get_downloadable_status 08:35:33.921 [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 [] 08:35:33.921 [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 [] 08:35:33.922 [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 [] 08:35:33.922 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b7/14/b714cc773a60c62c88d9d592018b3c35efa66f778a10cb7a32b84277f4dbed17.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:35:33.973 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HBDVR-o8Vow --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/a5/dda55e261aa46295c614e58f94418965495d261ffbbaad70c0131bbdddb022de.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:35:33.973 [error] yt-dlp download error for media item #1301334: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:33.973 [error] yt-dlp download will not be retried: "ERROR: [youtube] HBDVR-o8Vow: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:33.974 [info] {"args":{"id":1301334},"id":419934,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2838034,"event":"job:stop","queue_time":134095,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:35:33.977 [info] GET /sources/19 08:35:33.977 [info] GET /sitemap.xml 08:35:33.977 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "19"} Pipelines: [:browser] 08:35:33.977 [debug] QUERY OK source="settings" db=0.1ms idle=58.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:33.977 [debug] QUERY OK source="sources" db=0.2ms idle=55.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [19] 08:35:33.977 [debug] QUERY OK source="settings" db=0.1ms idle=55.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:33.978 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:33.978 [debug] QUERY OK source="media_profiles" db=0.1ms idle=55.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 08:35:33.978 [error] #PID<0.1180409.0> running PinchflatWeb.Endpoint (connection #PID<0.1180376.0>, stream id 5) terminated Server: tubesync.cochrun.xyz: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.1180376.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34244}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQS1ZZmkzOWZPVzRTODZwd251cUNOR3NC.aggaoS8zNA8kPsO-rlW-nlr0dXip5c3Ku5733ezypVs", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQS1ZZmkzOWZPVzRTODZwd251cUNOR3NC.aggaoS8zNA8kPsO-rlW-nlr0dXip5c3Ku5733ezypVs" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180409.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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQS1ZZmkzOWZPVzRTODZwd251cUNOR3NC.aggaoS8zNA8kPsO-rlW-nlr0dXip5c3Ku5733ezypVs" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQS1ZZmkzOWZPVzRTODZwd251cUNOR3NC.aggaoS8zNA8kPsO-rlW-nlr0dXip5c3Ku5733ezypVs"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QtNyMZXvdEO0AboFE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180376.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34244}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQS1ZZmkzOWZPVzRTODZwd251cUNOR3NC.aggaoS8zNA8kPsO-rlW-nlr0dXip5c3Ku5733ezypVs", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, 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.1180376.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 34244}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQS1ZZmkzOWZPVzRTODZwd251cUNOR3NC.aggaoS8zNA8kPsO-rlW-nlr0dXip5c3Ku5733ezypVs", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYQS1ZZmkzOWZPVzRTODZwd251cUNOR3NC.aggaoS8zNA8kPsO-rlW-nlr0dXip5c3Ku5733ezypVs" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180409.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>], :phoen (truncated) 08:35:33.979 [debug] QUERY OK source="tasks" db=1.6ms idle=4.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 (?,?,?,?)) [19, "executing", "available", "scheduled", "retryable"] 08:35:33.980 [debug] QUERY OK source="oban_jobs" db=0.2ms queue=0.1ms idle=2.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [418569] 08:35:33.980 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:33.980 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:33.981 [info] {"args":{"id":1301392},"id":419937,"meta":{},"system_time":1782740133981045312,"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"]} 08:35:33.981 [debug] QUERY OK source="settings" db=0.2ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:33.981 [debug] QUERY OK source="media_items" db=0.2ms idle=0.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301392] 08:35:33.981 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:35:33.982 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [52] 08:35:33.982 [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] 08:35:33.982 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [19] 08:35:33.982 [debug] QUERY OK source="media_items" db=0.3ms idle=1.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1301392] 08:35:33.983 [debug] QUERY OK source="media_metadata" db=0.0ms idle=1.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [1301392] 08:35:33.983 [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] 08:35:33.984 [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 [] 08:35:33.984 [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 [] 08:35:33.984 [debug] Running yt-dlp command for action: get_downloadable_status 08:35:33.985 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:33.985 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:33.985 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:33.985 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cd/d9/cdd9ded5ca3a2ab59394c190f24a3b002c939f2589f773b050ac3a08a33f974f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:35:33.989 [debug] QUERY OK source="media_items" db=6.2ms idle=1.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [19] 08:35:33.990 [debug] QUERY OK source="media_items" db=0.6ms idle=5.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [19, 10, 0] 08:35:33.990 [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" = ?) [19] 08:35:33.993 [debug] QUERY OK source="media_items" db=2.4ms idle=5.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [19] 08:35:33.993 [debug] QUERY OK source="media_items" db=0.6ms idle=3.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [19, 10, 0] 08:35:33.994 [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" = ?) [19] 08:35:33.995 [debug] QUERY OK source="media_items" db=0.8ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [19] 08:35:33.996 [debug] QUERY OK source="media_items" db=0.9ms idle=3.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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 ? [19, 10, 0] 08:35:33.997 [info] Sent 200 in 20ms 08:35:36.126 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-O_wox7rJaM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cd/d9/cdd9ded5ca3a2ab59394c190f24a3b002c939f2589f773b050ac3a08a33f974f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:35:36.127 [error] yt-dlp download error for media item #1301392: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:36.127 [error] yt-dlp download will not be retried: "ERROR: [youtube] -O_wox7rJaM: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:36.127 [info] {"args":{"id":1301392},"id":419937,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2146065,"event":"job:stop","queue_time":2980030,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:35:36.134 [info] {"args":{"id":1301393},"id":419938,"meta":{},"system_time":1782740136133926681,"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"]} 08:35:36.134 [debug] QUERY OK source="media_items" db=0.2ms idle=154.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" = ?) [1301393] 08:35:36.134 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:35:36.134 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [52] 08:35:36.135 [debug] QUERY OK source="media_profiles" db=0.1ms idle=139.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:36.135 [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 [1301393] 08:35:36.137 [debug] QUERY OK source="media_metadata" db=0.4ms idle=3.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" = ?) [1301393] 08:35:36.137 [debug] QUERY OK source="media_profiles" db=0.0ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:36.138 [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 [] 08:35:36.138 [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 [] 08:35:36.138 [debug] Running yt-dlp command for action: get_downloadable_status 08:35:36.138 [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 [] 08:35:36.139 [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 [] 08:35:36.139 [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 [] 08:35:36.139 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/98/8a/988a6ecc17f62f836c48677ad7f56fe18c901602a5067dd06a64bff3402edae0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:35:36.986 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZOPNvcCB3DQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b7/14/b714cc773a60c62c88d9d592018b3c35efa66f778a10cb7a32b84277f4dbed17.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:35:36.986 [error] yt-dlp download error for media item #1301347: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:36.986 [error] yt-dlp download will not be retried: "ERROR: [youtube] ZOPNvcCB3DQ: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:36.987 [info] {"args":{"id":1301347},"id":419936,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":3069906,"event":"job:stop","queue_time":2915925,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:35:36.993 [info] {"args":{"id":1301394},"id":419939,"meta":{},"system_time":1782740136993709819,"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"]} 08:35:36.994 [debug] QUERY OK source="media_items" db=0.2ms idle=854.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" = ?) [1301394] 08:35:36.994 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:35:36.994 [debug] QUERY OK source="sources" db=0.2ms idle=855.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:36.994 [debug] QUERY OK source="media_profiles" db=0.1ms idle=855.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:36.995 [debug] QUERY OK source="media_items" db=0.2ms idle=8.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 [1301394] 08:35:36.996 [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" = ?) [1301394] 08:35:36.997 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 08:35:36.997 [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 [] 08:35:36.997 [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 [] 08:35:36.997 [debug] Running yt-dlp command for action: get_downloadable_status 08:35:36.998 [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 [] 08:35:36.998 [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 [] 08:35:36.998 [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 [] 08:35:36.998 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/ff/67ff7b6a5890e869af05d2adb69f83ab5679d0a693043686982e2f574cf9c9f4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:35:42.636 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0Vddhisd2Ks --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/ff/67ff7b6a5890e869af05d2adb69f83ab5679d0a693043686982e2f574cf9c9f4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:35:42.636 [error] yt-dlp download error for media item #1301394: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:42.636 [error] yt-dlp download will not be retried: "ERROR: [youtube] 0Vddhisd2Ks: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:42.636 [info] {"args":{"id":1301394},"id":419939,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":5642656,"event":"job:stop","queue_time":5992951,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:35:42.642 [info] {"args":{"id":1301395},"id":419940,"meta":{},"system_time":1782740142642770057,"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"]} 08:35:42.643 [debug] QUERY OK source="media_items" db=0.1ms idle=1663.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" = ?) [1301395] 08:35:42.643 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:35:42.643 [debug] QUERY OK source="sources" db=0.1ms idle=1639.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:42.643 [debug] QUERY OK source="media_profiles" db=0.1ms idle=637.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:42.644 [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 [1301395] 08:35:42.645 [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" = ?) [1301395] 08:35:42.645 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 08:35:42.645 [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 [] 08:35:42.645 [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 [] 08:35:42.645 [debug] Running yt-dlp command for action: get_downloadable_status 08:35:42.646 [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 [] 08:35:42.646 [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 [] 08:35:42.646 [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 [] 08:35:42.646 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bb/85/bb859fca337cbae0e770ed154aa1f02b7b6c69f5afaa4c705dc1e668bd5cc90d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:35:43.250 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FgbYOHhWSF8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/98/8a/988a6ecc17f62f836c48677ad7f56fe18c901602a5067dd06a64bff3402edae0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:35:43.250 [error] yt-dlp download error for media item #1301393: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:43.251 [error] yt-dlp download will not be retried: "ERROR: [youtube] FgbYOHhWSF8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:43.251 [info] {"args":{"id":1301393},"id":419938,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":7117251,"event":"job:stop","queue_time":5132958,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:35:43.257 [info] {"args":{"id":1301397},"id":419941,"meta":{},"system_time":1782740143257525912,"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"]} 08:35:43.257 [debug] QUERY OK source="media_items" db=0.1ms idle=611.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" = ?) [1301397] 08:35:43.258 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:35:43.258 [debug] QUERY OK source="sources" db=0.1ms idle=611.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:43.258 [debug] QUERY OK source="media_profiles" db=0.1ms idle=250.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] 08:35:43.259 [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 [1301397] 08:35:43.260 [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" = ?) [1301397] 08:35:43.260 [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] 08:35:43.260 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:43.260 [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 [] 08:35:43.261 [debug] Running yt-dlp command for action: get_downloadable_status 08:35:43.261 [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 [] 08:35:43.261 [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 [] 08:35:43.262 [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 [] 08:35:43.262 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/d8/cfd87496fab51ab26d07c7a324ab76040d9b483b30d2030924a7ac98b10b61ba.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:35:46.723 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k_u9bHWWlME --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/d8/cfd87496fab51ab26d07c7a324ab76040d9b483b30d2030924a7ac98b10b61ba.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:35:46.724 [error] yt-dlp download error for media item #1301397: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:46.724 [error] yt-dlp download will not be retried: "ERROR: [youtube] k_u9bHWWlME: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:46.724 [info] {"args":{"id":1301397},"id":419941,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":3466683,"event":"job:stop","queue_time":12256905,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:35:46.730 [info] {"args":{"id":1301398},"id":419942,"meta":{},"system_time":1782740146730893868,"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"]} 08:35:46.731 [debug] QUERY OK source="media_items" db=0.2ms idle=1729.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" = ?) [1301398] 08:35:46.731 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:35:46.731 [debug] QUERY OK source="sources" db=0.1ms idle=1720.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:46.732 [debug] QUERY OK source="media_profiles" db=0.1ms idle=718.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:46.732 [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 [1301398] 08:35:46.734 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.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" = ?) [1301398] 08:35:46.734 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:46.734 [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 [] 08:35:46.734 [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 [] 08:35:46.734 [debug] Running yt-dlp command for action: get_downloadable_status 08:35:46.735 [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 [] 08:35:46.735 [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 [] 08:35:46.735 [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 [] 08:35:46.736 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/ce/ffce3bf389e7bb5e32c9c0aec14c7cbd0902698619b98d556262b4ae3501f6c0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:35:47.879 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=hltbUYAFFaI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bb/85/bb859fca337cbae0e770ed154aa1f02b7b6c69f5afaa4c705dc1e668bd5cc90d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:35:47.879 [error] yt-dlp download error for media item #1301395: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:47.879 [error] yt-dlp download will not be retried: "ERROR: [youtube] hltbUYAFFaI: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:47.880 [info] {"args":{"id":1301395},"id":419940,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":5237210,"event":"job:stop","queue_time":11641963,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:35:47.886 [info] {"args":{"id":1301399},"id":419943,"meta":{},"system_time":1782740147886515280,"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"]} 08:35:47.886 [debug] QUERY OK source="media_items" db=0.1ms idle=1150.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" = ?) [1301399] 08:35:47.887 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:35:47.887 [debug] QUERY OK source="sources" db=0.1ms idle=1151.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:47.887 [debug] QUERY OK source="media_profiles" db=0.1ms idle=872.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] 08:35:47.887 [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 [1301399] 08:35:47.889 [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" = ?) [1301399] 08:35:47.889 [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] 08:35:47.889 [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 [] 08:35:47.889 [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 [] 08:35:47.889 [debug] Running yt-dlp command for action: get_downloadable_status 08:35:47.890 [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 [] 08:35:47.890 [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 [] 08:35:47.890 [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 [] 08:35:47.890 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/33/ea33bc9daab114c06cdd7670e133294f5edb130647ac3b8864832a4c8f4db1d6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:35:50.587 [info] GET /sources/43/force_metadata_refresh 08:35:50.587 [info] GET /sources/38/force_metadata_refresh 08:35:50.587 [info] GET /sources/52/force_index 08:35:50.587 [info] GET /sources/30/force_metadata_refresh 08:35:50.588 [debug] QUERY OK source="settings" db=0.2ms idle=1585.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:50.588 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1585.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:50.588 [debug] QUERY OK source="settings" db=0.3ms idle=1585.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:50.588 [debug] QUERY OK source="settings" db=0.1ms idle=569.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:50.588 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:50.588 [debug] QUERY OK source="settings" db=0.3ms idle=1570.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:50.588 [debug] QUERY OK source="settings" db=0.1ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:50.588 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:50.588 [debug] QUERY OK source="settings" db=0.1ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:50.588 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:50.588 [debug] QUERY OK source="settings" db=0.4ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:50.588 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:50.588 [error] #PID<0.1180426.0> running PinchflatWeb.Endpoint (connection #PID<0.1180429.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/52/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/52/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180429.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/force_index", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60096}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180426.0>, params: %{}, path_info: ["sources", "52", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QuLqbaDdFfhgBdROC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180429.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/force_index", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60096}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/52/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180429.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/52/force_index", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60096}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180426.0>, params: %{}, path_info: ["sources", "52", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/52/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ (truncated) 08:35:50.588 [error] #PID<0.1180431.0> running PinchflatWeb.Endpoint (connection #PID<0.1180425.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/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/43/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180425.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60078}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180431.0>, params: %{}, path_info: ["sources", "43", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QuLqXm8eB2eEBdRNC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180425.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60078}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/43/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180425.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60078}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180431.0>, params: %{}, path_info: ["sources", "43", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/ (truncated) 08:35:50.588 [error] #PID<0.1180433.0> running PinchflatWeb.Endpoint (connection #PID<0.1180430.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/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/30/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180430.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60082}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180433.0>, params: %{}, path_info: ["sources", "30", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QuLqch2DjikYCQrrB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180430.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60082}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/30/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180430.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60082}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180433.0>, params: %{}, path_info: ["sources", "30", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/ (truncated) 08:35:50.589 [error] #PID<0.1180427.0> running PinchflatWeb.Endpoint (connection #PID<0.1180428.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/38/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/38/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180428.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/38/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60064}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180427.0>, params: %{}, path_info: ["sources", "38", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/38/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QuLqXxsom4yYCQrqB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180428.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/38/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60064}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :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/38/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180428.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/38/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60064}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180427.0>, params: %{}, path_info: ["sources", "38", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/ (truncated) 08:35:51.148 [info] GET /sources/22/force_metadata_refresh 08:35:51.148 [debug] QUERY OK source="settings" db=0.1ms idle=560.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:51.148 [debug] QUERY OK source="settings" db=0.0ms idle=560.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:51.149 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:51.149 [error] #PID<0.1180432.0> running PinchflatWeb.Endpoint (connection #PID<0.1180428.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/22/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/22/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180428.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60064}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180432.0>, params: %{}, path_info: ["sources", "22", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/22/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2QuNwFdHlByswCQrsB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180428.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60064}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/22/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180428.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/22/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60064}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180432.0>, params: %{}, path_info: ["sources", "22", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/ (truncated) 08:35:51.372 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jG9GNWAJOv0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/33/ea33bc9daab114c06cdd7670e133294f5edb130647ac3b8864832a4c8f4db1d6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:35:51.372 [error] yt-dlp download error for media item #1301399: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:51.372 [error] yt-dlp download will not be retried: "ERROR: [youtube] jG9GNWAJOv0: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:51.373 [info] {"args":{"id":1301399},"id":419943,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":3486191,"event":"job:stop","queue_time":16885939,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:35:51.379 [info] {"args":{"id":1301400},"id":419944,"meta":{},"system_time":1782740151379743475,"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"]} 08:35:51.380 [debug] QUERY OK source="media_items" db=0.1ms idle=359.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301400] 08:35:51.380 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:35:51.380 [debug] QUERY OK source="sources" db=0.1ms idle=231.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:51.380 [debug] QUERY OK source="media_profiles" db=0.1ms idle=231.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:51.381 [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 [1301400] 08:35:51.382 [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" = ?) [1301400] 08:35:51.382 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 08:35:51.382 [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 [] 08:35:51.382 [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 [] 08:35:51.382 [debug] Running yt-dlp command for action: get_downloadable_status 08:35:51.383 [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 [] 08:35:51.383 [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 [] 08:35:51.384 [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 [] 08:35:51.384 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/80/f58047e2bd1ded1d2720acd0031a942e1f20fde3852ae1a8f8748826b6f0035c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:35:53.500 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OlfctJw_gYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/ce/ffce3bf389e7bb5e32c9c0aec14c7cbd0902698619b98d556262b4ae3501f6c0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:35:53.500 [error] yt-dlp download error for media item #1301398: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:53.500 [error] yt-dlp download will not be retried: "ERROR: [youtube] OlfctJw_gYk: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:53.501 [info] {"args":{"id":1301398},"id":419942,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":6769916,"event":"job:stop","queue_time":15729950,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:35:53.507 [info] {"args":{"id":2720968},"id":419945,"meta":{},"system_time":1782740153507567877,"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"]} 08:35:53.507 [debug] QUERY OK source="media_items" db=0.1ms idle=501.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" = ?) [2720968] 08:35:53.508 [info] User scripts lifecyle file either not present or is empty. Skipping. 08:35:53.508 [debug] QUERY OK source="sources" db=0.1ms idle=502.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 08:35:53.508 [debug] QUERY OK source="media_profiles" db=0.1ms idle=485.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:53.509 [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 [2720968] 08:35:53.510 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.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" = ?) [2720968] 08:35:53.510 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 08:35:53.510 [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 [] 08:35:53.511 [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 [] 08:35:53.511 [debug] Running yt-dlp command for action: get_downloadable_status 08:35:53.511 [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 [] 08:35:53.511 [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 [] 08:35:53.512 [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 [] 08:35:53.512 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/df/fedf1eeb84b9530e0b88149342cf19292ed10fc4038075dc27058e8c37ad955d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 08:35:54.154 [info] {"source":"oban","duration":10538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:54.239 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=puuxmiVlgk8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/80/f58047e2bd1ded1d2720acd0031a942e1f20fde3852ae1a8f8748826b6f0035c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:35:54.239 [error] yt-dlp download error for media item #1301400: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:54.239 [error] yt-dlp download will not be retried: "ERROR: [youtube] puuxmiVlgk8: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:54.240 [info] {"args":{"id":1301400},"id":419944,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2860198,"event":"job:stop","queue_time":20378910,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:35:55.503 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=45t1DvSTmEA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/df/fedf1eeb84b9530e0b88149342cf19292ed10fc4038075dc27058e8c37ad955d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 08:35:55.503 [error] yt-dlp download error for media item #2720968: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:55.503 [error] yt-dlp download will not be retried: "ERROR: [youtube] 45t1DvSTmEA: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 08:35:55.504 [info] {"args":{"id":2720968},"id":419945,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1995898,"event":"job:stop","queue_time":22506955,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 08:35:55.689 [info] GET /sources/9/force_metadata_refresh 08:35:55.690 [debug] QUERY OK source="settings" db=0.2ms idle=1443.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:55.690 [debug] QUERY OK source="settings" db=0.1ms idle=664.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:35:55.690 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:35:55.690 [error] #PID<0.1180443.0> running PinchflatWeb.Endpoint (connection #PID<0.1180428.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/9/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/9/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180428.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60064}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180443.0>, params: %{}, path_info: ["sources", "9", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/9/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GL2Queq0TPzlsVYCQruB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180428.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60064}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, 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/9/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.1180428.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/9/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 60064}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.216.185", "x-forwarded-host" => "tubesync.cochrun.xyz", "x-forwarded-proto" => "https" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.1180443.0>, params: %{}, path_info: ["sources", "9", "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://tubesync.cochrun.xyz", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 20, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.216.185"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/9/force_m (truncated) 08:36:00.218 [info] {"source":"oban","duration":315,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"}